登录
首页精彩阅读用 PHP 使 Web 数据分析进入更高境界(二)
用 PHP 使 Web 数据分析进入更高境界(二)
2015-06-11
收藏

用 PHP 使 Web 数据分析进入更高境界(二)


如果对所研究的总体得出结论是您做 Web 民意测验的动机(而不是为站点访问者提供的消遣),那么您应该实现一些技术,以确保一人一票(所以,他们必须用唯一的标识登录才能投票),并确保随机选择投票者样本(例如,随机选择成员的子集,然后给他们发电子邮件,鼓励他们投票)。 最终,目标是消除(至少减少)各种偏差,它们可能会削弱对所研究总体得出结论的能力。 检验假设 假设新斯科舍省啤酒消费者统计样本没有发生偏差,您现在能够得出 Keiths 是最受欢迎品牌这一结论吗? 要回答这个问题,请考虑一个相关的问题:如果您要获得另一个新斯科舍省啤酒消费者的样本,您希望看到完全相同的结果吗?实际上,您会希望不同样本中所观察到的结果有一定的变化。

 考虑这个预期的抽样可变性,您可能怀疑通过随机抽样可变性是否比反映所研究总体中的实际差异能更好地说明观察到的品牌偏好。在统计学术语中,这个抽样可变性说明被称为虚假设(null hypothesis)。(虚假设由符号 Ho 表示)在本例中,用公式将它表示成这样的语句:在作出回答的所有类别中,各种回答的期望数目相同。 Ho:# Keiths = # Olands = # Schooner = # Other 如果您能够排除虚假设,那么您在回答 Keiths 是否是最受欢迎品牌这个最初的问题上取得了一些进展。那么,另一个可接受的假设是在所研究的总体中,各种回答所占比例不同。 这个“先检验虚假设”逻辑在民意测验数据分析中的多个阶段都适用。排除这一虚假设,这样数据就不会完全不同,随后您可以继续检验一个更具体的虚假设,即 Keiths 和 Schooner,或者 Keiths 与其它所有品牌之间没有差别。 您继续检验虚假设而不是直接评估另一假设,是因为对于在虚假设条件下人们希望观察到的事物进行统计建模更容易。接下来,我将演示如何对在虚假设下所期望的事物建模,这样我就可以将观察结果与在虚假设条件下所期望的结果加以比较。 对虚假设建模:X 平方分布统计 到目前为止,您已经使用一个报告每种回答选项频率计数(和百分比)的表汇总了 Web 民意测验的结果。要检验虚假设(表单元频率之间不存在差别),计算每个表单元与您在虚假设条件下所期望值的总体偏差度量要容易得多。

 在这个啤酒欢迎度民意测验的示例中,在虚假设条件下的期望频率如下: 期望频率 = 观察数目 / 回答选项的数目 期望频率 = 1000 / 4 期望频率 = 250 要计算每个单元中回答的内容与期望频率相差多少的总体度量,您可以将所有的差别总计到一个反映观察频率与期望频率相差多少的总体度量中:(285 - 250) + (250 - 250) + (215 - 250) + (250 - 250)。 如果您这么做,您会发现期望频率是 0,因为平均值的偏差的和永远是 0。要解决这个问题,应当取所有差值的平方(这就是X 平方分布(Chi Square)中平方的由来)。最后,为了使各样本(这些样本具有不同的观察数)的这个值具有可比性(换句话说,使它标准化),将该值除以期望频率。因此,X 平方分布统计的公式如下所示(“O”表示“观察频率”,“E”等于“期望频率”): 图 1. X 平方分布统计的公式 如果计算啤酒欢迎度民意测验数据的 X 平方分布统计,会得到值 9.80。要检验虚假设,需要知道在假设存在随机抽样可变性的情况下获得这么一个极限值的概率。

要得出这一概率,需要理解 X 平方分布的抽样分布是什么样的。 观察 X 平方分布的抽样分布 图 2. X 平方分布图 在每幅图中,横轴表示所得到的 X 平方分布值大小(图中所示范围从 0 到 10)。纵轴显示各 X 平方分布值的概率(或称为出现的相对频率)。 当您研究这些 X 平方分布图时,请注意,当您在实验中改变自由度(即 df)时,概率函数的形状会改变。对于民意测验数据的示例,自由度是这样计算的:记下民意测验中的回答选项(k)的数目,然后用这个值减 1(df = k - 1)。 通常,当您在实验中增加回答选项的数目时,获得较大 X 平方分布值的概率会下降。这是因为当增加回答选项时,就增加了方差值的数目 ― (观察值 - 期望值)2 ― 您可以求它的总数。因此,当您增加回答选项时,获得大的 X 平方分布值的统计概率应该增加,而获得较小 X 平方分布值的概率会减少。这就是为什么 X 平方分布的抽样分布的形状随着 df 值的不同而变化的原因。 

此外,要注意到通常人们对 X 平方分布结果的小数点部分不感兴趣,而是对位于所获得的值右边曲线的总计部分感兴趣。该尾数概率告诉您获取一个象您观察到的极限值是可能(如一个大的尾数区域)还是不可能(小的尾数区域)。(实际上,我不使用这些图来计算尾数概率,因为我可以实现数学函数来返回给定 X 平方分布值的尾数概率。我在本文后面讨论的 X 平方分布程序中会采用这种做法。) 要进一步了解这些图是如何派生出来的,可以看看如何模拟与 df = 2(它表示 k = 3)对应的图的内容。想象把数字 1、2 和 3 放进帽子里,摇一摇,选一个数字,然后记录所选的数字作为一次尝试。

对这个实验进行 300 次尝试,然后计算 1、2 和 3 出现的频率。 每次您做这个实验时,都应当期望结果有稍微不同的频率分布,这一分布反映了抽样的可变性,同时,这个分布又不会真正偏离可能的概率范围。 下面的 Multinomial 类实现了这一想法。您可以用以下值初始化该类:要做实验的次数、每个实验中所做尝试的次数,以及每次试验的选项数目。每个实验的结果记录在一个名为 Outcomes 的数组中。 清单 1. Multinomial 类的内容 <?php // Multinomial.php // Copyright 2003, Paul Meagher // Distributed under LGPL  class Multinomial {  var $NExps;  var $NTrials;  var $NOptions;  var $Outcomes = array();  function Multinomial($NExps, $NTrials, $NOptions) {   $this->NExps  = $NExps;   $this->NTrials = $NTrials;   $this->NOptions = $NOptions;   for ($i=0; $i < $this->NExps; $i++) {    $this->Outcomes[$i] = $this->runExperiment();      }  }    function runExperiment() {   $Outcome = array();   for ($i = 0; $i < $this->NExps; $i++){    $choice = rand(1,$this->NOptions);    $Outcome[$choice]++;   }   return $Outcome;  }      } ?> 请注意,runExperiment 方法是该脚本中非常重要的一部分,它保证在每次实验中所做出的选择是随机的,并且跟踪到目前为止在模拟实验中做出了哪些选择。 

为了找到 X 平方分布统计的抽样分布,只需获取每次实验的结果,并且计算该结果的 X 平方分布统计。由于随机抽样的可变性,因此这个 X 平方分布统计会随实验的不同而不同。

数据分析咨询请扫描二维码

最新资讯
更多
客服在线
立即咨询