Pengujian Hipotesis dengan Big Data


12

Bagaimana Anda melakukan tes hipotesis dengan data besar? Saya menulis skrip MATLAB berikut untuk menekankan kebingungan saya. Yang dilakukannya hanyalah menghasilkan dua seri acak, dan menjalankan regresi linier sederhana dari satu variabel di variabel lainnya. Itu melakukan regresi ini beberapa kali menggunakan nilai acak yang berbeda dan rata-rata laporan. Apa yang cenderung terjadi adalah ketika saya meningkatkan ukuran sampel, nilai-p rata-rata menjadi sangat kecil.

Saya tahu bahwa karena kekuatan tes meningkat dengan ukuran sampel, mengingat sampel yang cukup besar, nilai-p akan menjadi cukup kecil, bahkan dengan data acak, untuk menolak tes hipotesis apa pun. Saya bertanya-tanya dan beberapa orang mengatakan bahwa dengan 'Big Data' lebih penting untuk melihat ukuran efek, yaitu. apakah tes ini signifikan DAN memiliki efek yang cukup besar untuk kita pedulikan. Ini karena dalam ukuran sampel besar nilai-p akan mengambil perbedaan yang sangat kecil, seperti yang dijelaskan di sini .

Namun, ukuran efek dapat ditentukan dengan penskalaan data. Di bawah ini saya skala variabel penjelas ke besarnya cukup kecil yang diberikan ukuran sampel yang cukup besar, itu memiliki efek signifikan besar pada variabel dependen.

Jadi saya bertanya-tanya, bagaimana kita mendapatkan wawasan dari Big Data jika masalah ini ada?

%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

Pengujian hipotesis adalah tentang menolak model nol. Dengan lebih banyak data, Anda dapat menolak "model nol lebih besar", mis. Dengan memiliki lebih banyak kovariat atau menguji beberapa hipotesis.
momeara


2
Gajah di ruangan itu adalah keterwakilan "data besar". Banyak kumpulan data besar yang dikumpulkan di Internet adalah contoh kenyamanan terbaik; ada bahaya tersembunyi tetapi terkenal yang mengintai dalam upaya untuk menggeneralisasi dari sampel ke populasi yang lebih besar atau proses yang sedang berlangsung.
whuber

1
"Beberapa orang mengatakan bahwa dengan 'Big Data' lebih penting untuk melihat ukuran efeknya." Dengan 'Data Kecil' penting untuk melihat ukuran efek juga.
Ari B. Friedman

Jawaban:


11

Seperti yang disarankan Peter, saya pikir salah satu hal penting di era "Big Data" adalah untuk lebih menekankan pada nilai-p, dan lebih pada estimasi besarnya efek.

Beberapa pekerjaan saya sendiri berjuang dengan ini dengan cara yang saya pikir lebih berbahaya daripada dengan Big Data - untuk model komputasi stokastik, kekuatan Anda sepenuhnya merupakan fungsi dari kesabaran dan sumber daya komputasi. Ini adalah konstruksi buatan.

Jadi kembalilah ke perkiraan efek. Bahkan jika itu signifikan, apakah peningkatan 0,0001% dalam sesuatu itu penting di dunia nyata?

Saya juga bermain-main dengan membalik beberapa ide di balik pelaporan kekuatan studi. Alih-alih melaporkan kekuatan studi Anda harus mendeteksi efek yang diamati, melaporkan ukuran efek minimum yang didukung penelitian ini. Dengan begitu pembaca dapat mengetahui apakah signifikansi pada dasarnya dijamin.


7

Wawasan yang Anda inginkan akan datang dari interval kepercayaan, tidak sebanyak dari nilai-p. Dengan ukuran sampel yang sangat besar Anda akan mendapatkan interval kepercayaan yang sangat tepat, asalkan asumsi statistik Anda benar.


Terima kasih Mike. Apakah Anda mengatakan dalam situasi ini, pemeriksaan interval kepercayaan akan menunjukkan bahwa mereka sangat luas sehingga kita tidak harus benar-benar mempercayai nilai pasti estimasi kami?
JoeDanger

Yang menarik adalah seberapa intuitif, pertanyaan itu diutarakan sebagai masalah untuk data besar (di mana tes hipotesis memberi tahu kita bagaimana tidak mungkin sesuatu menjadi 0 agak tidak ada gunanya), dan bukan sebagai masalah untuk data kecil (di mana estimasi parameter sangat tidak tepat) dan seringkali, yang bisa dikatakan adalah seberapa kecil kemungkinan parameternya adalah 0).
jona

6

Penting untuk melihat ukuran efek terlepas dari apakah data besar atau kecil.

Dengan data yang murni acak, Anda harus mendapatkan hasil yang signifikan 5% dari waktu. Itu yang berarti nilai-p. Ini juga benar terlepas dari ukuran sampel. Yang bervariasi dengan ukuran sampel adalah seberapa kecil ukuran efek harus ditemukan signifikan; tetapi, dengan sampel besar kebisingan murni, hanya perbedaan kecil yang mungkin terjadi; dengan sampel kecil, perbedaan yang lebih besar lebih sering terjadi. Pikirkan untuk membalik koin 10 kali: Mendapatkan 8, 9, atau bahkan 10 kepala tidak akan masuk akal. Namun, jika Anda melemparkan koin 1000 kali, akan sangat aneh untuk mendapatkan 800 kepala, apalagi 900 atau 1000 (angka pastinya dapat dihitung, tetapi bukan itu intinya. Namun, dengan 1000 kali lemparan, bahkan sedikit penyimpangan dari 500 akan signifikan.

misalnya uji-t dengan data acak, 2 vektor dengan panjang 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

Saya mendapat 0,07

Dengan dua vektor ukuran 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

Saya mendapat 0,05.


1
Florn, saya menemukan ini disusun dengan baik, apakah ada makalah akademik / statistik buku teks yang dapat dijadikan referensi yang membuat titik yang sama?
SAFEX

1
Titik spesifik mana? Tentang melihat ukuran efek? Atau tentang apa yang acak itu?
Peter Flom - Reinstate Monica

"Apa yang bervariasi dengan ukuran sampel adalah seberapa kecil ukuran efek harus ditemukan signifikan", ini sangat intuitif dari teks, tetapi apakah ada karya akademis yang membuktikan hal ini
SAFEX

1
Saya tidak tahu buku yang secara eksplisit membuktikannya - jika Anda ingin buku statistik matematika, saya bukan orang yang bertanya. Saya yakin seseorang di sini akan tahu, tetapi mereka mungkin tidak melihat utas komentar ini. Mungkin ajukan pertanyaan terpisah seperti "Bukti eksplisit bahwa apa yang berbeda ...."
Peter Flom - Reinstate Monica

1
dilakukan dan terima kasih lagi untuk deskripsi intuitif ( stats.stackexchange.com/questions/412643/… )
SAFEX

2

Seperti yang telah disebutkan, dalam pengujian hipotesis Anda sebenarnya sedang menyelidiki hipotesis nol, biasanya dengan harapan Anda dapat menolaknya. Selain jawaban lain saya ingin mengusulkan pendekatan yang agak berbeda.

Secara umum, jika Anda memiliki semacam teori tentang apa yang mungkin terjadi dalam data Anda, Anda bisa melakukan analisis konfirmasi (seperti analisis faktor konfirmasi sebagai hanya satu contoh). Untuk melakukannya, Anda membutuhkan model. Anda kemudian dapat melihat seberapa baik model Anda cocok dengan data. Pendekatan ini juga akan memungkinkan untuk menguji model yang berbeda satu sama lain. Yang menyenangkan dengan Big Data adalah memungkinkan Anda untuk benar-benar melakukan tes model ini. Sebaliknya, dalam psikologi misalnya, sering kali tidak terlalu mungkin untuk melakukannya, karena ukuran sampel cenderung terlalu kecil untuk metode semacam ini.

Saya menyadari bahwa biasanya dengan Big Data, pendekatan eksplorasi digunakan, karena belum ada teori. Juga, karena saya tidak tahu apa yang sebenarnya Anda minati, ini mungkin bukan pilihan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.