大数据假设检验


12

您如何对大数据进行假设检验?我写了以下MATLAB脚本来强调我的困惑。它所做的只是生成两个随机序列,并对另一个变量进行简单的线性回归。它使用不同的随机值多次执行此回归,并报告平均值。趋向于发生的是,随着我增加样本数量,平均p值变得很小。

我知道,由于测试的功效随样本数量的增加而增加,因此,给定足够大的样本,即使使用随机数据,p值也将变得足够小,以拒绝任何假设检验。我四处询问,有人说,“大数据”对效果大小的影响更为重要。测试是否显着并且影响足够大,我们需要关注。这是因为在大样本的p值将挑选的非常小的差异时,就像是解释在这里

但是,效果大小可以通过缩放数据来确定。在下面,我将解释变量缩放到足够小的大小,从而在给定足够大的样本量的情况下,它对因变量产生了重大影响。

所以我想知道,如果存在这些问题,我们如何从大数据中获得任何见解?

%make average
%decide from how many values to make average
obs_inside_average = 100;

%make average counter
average_count = 1;

for average_i = 1:obs_inside_average,






%do regression loop
%number of observations
n = 1000;

%first independent variable (constant term)
x(1:10,1) = 1; 

%create dependent variable and the one regressor
for i = 1:10,

    y(i,1) = 100 + 100*rand();

    x(i,2) = 0.1*rand();

end





%calculate coefficients
beta = (x'*x)\x'*y;

%calculate residuals
u = y - x*beta;

%calcuatate sum of squares residuals
s_2 = (n-2)\u'*u;

%calculate t-statistics
design = s_2*inv(x'*x);

%calculate standard errors
stn_err = [sqrt(design(1,1));sqrt(design(2,2))];

%calculate t-statistics
t_stat(1,1) = sqrt(design(1,1))\(beta(1,1) - 0);
t_stat(2,1) = sqrt(design(2,2))\(beta(2,1) - 0);

%calculate p-statistics
p_val(1,1) = 2*(1 - tcdf(abs(t_stat(1,1)), n-2));
p_val(2,1) = 2*(1 - tcdf(abs(t_stat(2,1)), n-2));






%save first beta to data column 1
data(average_i,1) = beta(1,1);

%save second beta to data column 2
data(average_i,2) = beta(2,1);

%save first s.e. to data column 3
data(average_i,3) = stn_err(1,1);

%save second s.e. to data column 4
data(average_i,4) = stn_err(2,1);

%save first t-stat to data column 5
data(average_i,5) = t_stat(1,1);

%save second t-stat to data column 6
data(average_i,6) = t_stat(2,1);

%save first p-val to data column 7
data(average_i,7) = p_val(1,1);

%save second p-val to data column 8
data(average_i,8) = p_val(2,1);

end

%calculate first and second beta average
b1_average = mean(data(:,1));
b2_average = mean(data(:,2));

beta = [b1_average;b2_average];

%calculate first and second s.e. average
se1_average = mean(data(:,3));
se2_average = mean(data(:,4));

stn_err = [se1_average;se2_average];

%calculate first and second t-stat average
t1_average = mean(data(:,5));
t2_average = mean(data(:,6));

t_stat = [t1_average;t2_average];

%calculate first and second p-val average
p1_average = mean(data(:,7));
p2_average = mean(data(:,8));

p_val = [p1_average;p2_average];

beta
stn_err
t_stat
p_val

假设检验是关于拒绝空模型。有了更多的数据,您可以拒绝“更大的空模型”,例如通过具有更多的协变量或测试多个假设。
momeara


2
房间里的大象是“大数据”的代表。互联网上收集的许多巨大的数据集(充其量)是方便的样本。在将样本从样本推广到更大的人群或进行中的过程中,存在着隐藏但众所周知的危险。
ub

1
“有人说,利用“大数据”,更重要的是要看效果的大小。” 对于“小数据”,同样重要的是要注意效果的大小。
Ari B. Friedman 2014年

Answers:


11

正如Peter所建议的,我认为“大数据”时代的重要事情之一就是更少地强调p值,而更多地放在影响程度的估计上。

我自己的一些工作为此付出了很多努力,我认为这种方法比大数据更难以捉摸-对于随机计算模型,您的能力完全取决于耐心和计算资源。这是一个人工构造。

因此,请回到效果估算。即使意义重大,但在现实世界中是否有0.0001%的事情会增加呢?

我也一直在努力扭转报告学习能力背后的一些想法。而不是报告研究必须检测到观察到的效果的能力,而是报告研究可以找到的最小效果量。这样,读者可以知道重要性是否在本质上得到保证。


7

您期望的洞察力将来自置信区间,而不是p值。如果您的统计假设正确,那么使用非常大的样本量,您将获得非常精确的置信区间。


谢谢迈克。您是说在这种情况下,对置信区间的检查表明它们是如此之宽,以至于我们不应该真正相信我们估计的确切值?
JoeDanger

有趣的是,如何直观地将问题表述为大数据的问题(假设检验告诉我们某事物不可能为0的事实是毫无意义的),而不是小数据的问题(参数估计非常不准确)通常,所有人可能会说参数不太可能精确地为0)。
13年

6

无论数据是大还是小,查看效果大小都非常重要。

对于纯随机数据,您应该在5%的时间内获得明显的结果。这就是p值的意思。无论样本大小如何,也是如此。随样本量的不同而变化的是必须发现效应量有多小。但是,对于大量的纯噪声样本,可能只有很小的差异;对于小样本,更大的差异更经常发生。考虑将硬币掷十次:扔掉8个,9个甚至10个头是不荒谬的。但是,如果您将硬币抛掷1000次,那么获得800个头,而不是900或1000个头(可以计算出确切的数字,那不是什么意思。),但是如果掷1000次,甚至是很小的偏差,这都是很奇怪的。从500起意义重大。

例如带有随机数据的t检验,两个长度为10的向量

set.seed(102811)
samp.size <- 10
t10 <- vector("numeric", 100)
for (i in 1:100){
x <- rnorm(samp.size)
y <- rnorm(samp.size)
t <- t.test(x,y)
t10[i] <- t$p.value
sum(t10 < .05)/100

我得到0.07

具有大小为1000的两个向量

set.seed(10291)
samp.size <- 1000
t1000 <- vector("numeric", 100)
for (i in 1:100){
  x <- rnorm(samp.size)
  y <- rnorm(samp.size)
  t <- t.test(x,y)
  t1000[i] <- t$p.value
}  
sum(t1000 < 0.05)/100

我有0.05。


1
弗洛恩,我觉得这起草得很好,有没有类似的观点可供参考的学术论文/统计教科书?
SAFEX

1
哪一点?关于效果大小?或随机是什么?
彼得·弗洛姆

“随样本大小的变化是必须发现显着的效应大小有多小”,这在文字上是很直观的,但是有学术研究证明了这一点
SAFEX

1
我不知道一本书能明确证明这一点-如果您想要某种数学统计书,那么我不是那个要问的人。我确定这里有人会知道,但他们可能看不到此评论主题。也许问一个单独的问题,例如“明确证明有什么不同……。”
彼得·弗洛姆-恢复莫妮卡

1
为直观的描述进行再次感谢(stats.stackexchange.com/questions/412643/...
SAFEX

2

如前所述,在假设检验中,您实际上是在研究原假设,通常是希望您可以拒绝原假设。除了其他答案,我想提出一种稍微不同的方法。

一般而言,如果您对数据中可能发生的事情有某种理论,则可以进行验证性分析(例如验证性因子分析只是一个示例)。为此,您需要一个模型。然后,您可以查看模型对数据的拟合程度。这种方法还将允许相互测试不同的模型。大数据的好处是它允许您实际进行这些模型测试。相反,在心理学中,例如,由于这种方法的样本量往往太小,通常通常是不可能这样做的。

我意识到通常在大数据中使用探索性方法,因为还没有理论。另外,由于我不知道您到底对什么感兴趣,因此这可能不是真正的选择。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.