Büyük Verilerle Hipotez Testi


12

Büyük verilerle hipotez testlerini nasıl yapıyorsunuz? Karışıklığımı vurgulamak için aşağıdaki MATLAB senaryosunu yazdım. Tek yaptığı iki rastgele seri oluşturmak ve bir değişkenin diğerinde basit bir doğrusal regresyonunu çalıştırmaktır. Bu regresyonu farklı rasgele değerler kullanarak birkaç kez gerçekleştirir ve ortalamaları rapor eder. Örnekleme boyutunu büyüttüğümde gerçekleşme eğilimi, ortalama olarak p değerleri çok küçük oluyor.

Bir testin gücü örnek büyüklüğü ile arttığı için, yeterince büyük bir örnek verildiğinde, p değerlerinin herhangi bir hipotez testini reddetmek için rastgele verilerle bile yeterince küçük hale geleceğini biliyorum. Etrafa sordum ve bazı insanlar 'Büyük Veri' ile etki büyüklüğüne bakmak, yani daha önemli olduğunu söyledi. testin önemli olup olmadığı VE bizim ilgilenmemiz için yeterince büyük bir etkiye sahip olup olmadığı. Bunun nedeni, büyük örnek boyutlarında, p değerlerinin burada açıklandığı gibi çok küçük farklardan oluşmasıdır .

Ancak, etki boyutu verilerin ölçeklendirilmesiyle belirlenebilir. Açıklayıcı değişkeni, yeterince büyük bir örneklem büyüklüğü veren yeterince küçük bir büyüklükte ölçeklendirdiğimde, bağımlı değişken üzerinde büyük bir etkisi vardır.

Merak ediyorum, bu problemler varsa Büyük Verilerden nasıl bir fikir edinebiliriz?

%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

Hipotez testi null modelleri reddetmekle ilgilidir. Daha fazla veriyle, örneğin daha büyük değişkenlere sahip olarak veya birden fazla hipotezi test ederek "daha büyük sıfır modelleri" reddedebilirsiniz.
momeara


2
Odadaki fil "büyük verinin" temsilidir. İnternette toplanan birçok büyük veri seti (en iyi) kolaylık örnekleridir; örnekten daha büyük bir nüfusa veya devam eden sürece genelleme çabasında gizlenen gizli ama iyi bilinen tehlikeler vardır.
whuber

1
"Bazı insanlar 'Büyük Veri' ile etki büyüklüğüne bakmak daha önemli olduğunu söyledi." 'Küçük Veri' ile efekt boyutuna da bakmak önemlidir.
Ari B. Friedman

Yanıtlar:


11

Peter'ın önerdiği gibi, "Büyük Veri" çağındaki önemli şeylerden birinin p-değerlerine daha az, daha çok etki büyüklüğünün tahminine daha fazla vurgu yapmak olduğunu düşünüyorum.

Bazı çalışmalarım bununla Büyük Veri'den daha sinsi olduğunu düşündüğüm şekillerde mücadele ediyor - stokastik hesaplama modelleri için gücünüz tamamen bir sabır ve bilgi işlem fonksiyonudur. Yapay bir yapı.

Yani etki tahminine geri dönün. Önemli olsa bile, gerçek dünyada bir şeyde% 0.0001'lik bir artış önemli midir?

Ayrıca çalışma gücünü bildirmenin arkasındaki bazı fikirleri tersine çevirerek de oynuyorum. Çalışmanızın gözlemlenen etkiyi tespit etmek zorunda olduğu gücü bildirmek yerine , çalışmanın bulmaya çalıştığı minimum etki boyutunu bildirmek . Bu şekilde okuyucu, anlamın esasen garanti edilip edilmediğini bilebilir.


7

Arzu ettiğiniz içgörü, p değerlerinden değil, güven aralıklarından gelecek. Çok büyük bir örneklem büyüklüğü ile, istatistiksel varsayımlarınızın doğru olması koşuluyla, çok kesin bir güven aralığı elde edeceksiniz.


Teşekkürler Mike. Bu gibi durumlarda, güven aralıklarının incelenmesi, tahminlerimizin tam değerine gerçekten güvenmememiz gerektiği kadar geniş olduklarını gösterecek mi?
JoeDanger

İlginç olan şey, soru ne kadar sezgisel olarak, küçük veriler için bir sorun olarak değil (parametre tahminlerinin çok kesin olmadığı yerlerde) büyük veriler için bir sorun olarak ifade edildi (bir şeyin 0 olması muhtemel olmadığını bildiren hipotez testlerinin oldukça anlamsız olduğu). ve çoğu zaman, parametrenin tam olarak 0 olması muhtemel değildir.
jona

6

Verilerin büyük ya da küçük olmasına bakılmaksızın etki boyutuna bakmak önemlidir.

Tamamen rastgele verilerle, zamanın% 5'inde önemli bir sonuç almalısınız. P değeri budur. Bu, numune boyutundan bağımsız olarak da geçerlidir. Örnek büyüklüğüne göre değişen, etki büyüklüğünün ne kadar küçük bulunması gerektiğidir; ancak, büyük saf gürültü örnekleri ile, sadece küçük farklar olabilir; küçük numunelerde daha büyük farklar daha sık görülür. Bir bozuk parayı 10 kez çevirmeyi düşünün: 8, 9 veya 10 kafa almak saçma olmaz. Ancak, bir madeni parayı 1000 kez atarsanız, 800 kafa, çok daha az 900 veya 1000 almak gerçekten garip olurdu (tam sayılar hesaplanabilir, ancak mesele bu değildir. Ancak, 1000 fırlatma ile, küçük bir sapma bile 500'den önemli olacak.

örneğin rastgele verilerle bir t-testi, 10 uzunluk 2 vektör

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 aldım

1000 boyutunda iki vektör ile

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 aldım.


1
Florn, bunun iyi hazırlanmış olduğunu düşünüyorum, benzer bir noktaya değinebilecek akademik makaleler / istatistik ders kitapları var mı?
SAFEX

1
Hangi özel nokta? Efekt boyutlarına bakmak hakkında mı? Yoksa rastgele ne hakkında?
Peter Flom

"Örnek büyüklüğüne göre değişen, efekt büyüklüğünün ne kadar küçük bulunması gerektiğidir", bu metinden çok sezgiseldir, ancak bu noktayı kanıtlayan akademik çalışmalar var
SAFEX

1
Açıkça ispatlayan bir kitap bilmiyorum - eğer bir çeşit matematiksel istatistik kitabı istiyorsanız, soracağım kişi ben değilim. Eminim burada birisi bilecek, ancak bu yorum dizisini görmeyebilirler. Belki de "Neyin değiştiğine dair açık kanıt ...." gibi ayrı bir soru sorun
Peter Flom

1
ve sezgisel açıklama için tekrar teşekkürler ( stats.stackexchange.com/questions/412643/… )
SAFEX

2

Daha önce de belirtildiği gibi, hipotez testinde, genellikle reddedebileceğiniz umuduyla, boş hipotezi araştırıyorsunuzdur. Diğer cevaplara ek olarak biraz farklı bir yaklaşım öneriyorum.

Genel olarak konuşursak, verilerinizde neler olabileceği hakkında bir çeşit teoriniz varsa, doğrulayıcı bir analiz yapabilirsiniz ( sadece bir örnek olarak doğrulayıcı faktör analizi gibi). Bunu yapmak için bir modele ihtiyacınız olacak. Ardından modelinizin verilere ne kadar uyduğunu görebilirsiniz. Bu yaklaşım aynı zamanda farklı modellerin birbirlerine karşı test edilmesine de izin verecektir. Büyük Veri ile güzel olan şey, aslında bu model testlerini yapmanıza izin vermesidir. Aksine, psikolojide örneğin bunu yapmak çoğu zaman mümkün değildir, çünkü örneklem büyüklükleri bu tür yöntemler için çok küçük olma eğilimindedir.

Tipik olarak Büyük Veri ile keşifsel bir yaklaşımın kullanıldığını fark ediyorum, çünkü henüz bir teori yok. Ayrıca, tam olarak neyle ilgilendiğinizi bilmediğim için, bu gerçekten bir seçenek olmayabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.