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
sumber
Jawaban:
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.
sumber
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.
sumber
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
Saya mendapat 0,07
Dengan dua vektor ukuran 1000
Saya mendapat 0,05.
sumber
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.
sumber