Kiểm định giả thuyết với dữ liệu lớn


12

Làm thế nào để bạn thực hiện kiểm tra giả thuyết với dữ liệu lớn? Tôi đã viết kịch bản MATLAB sau đây để nhấn mạnh sự nhầm lẫn của tôi. Tất cả những gì nó làm là tạo ra hai chuỗi ngẫu nhiên và chạy hồi quy tuyến tính đơn giản của một biến trên biến kia. Nó thực hiện hồi quy này nhiều lần bằng các giá trị ngẫu nhiên khác nhau và báo cáo trung bình. Điều có xu hướng xảy ra là khi tôi tăng kích thước mẫu, giá trị p trung bình trở nên rất nhỏ.

Tôi biết rằng vì sức mạnh của thử nghiệm tăng theo kích thước mẫu, được cung cấp một mẫu đủ lớn, giá trị p sẽ trở nên đủ nhỏ, ngay cả với dữ liệu ngẫu nhiên, để từ chối mọi thử nghiệm giả thuyết. Tôi đã hỏi xung quanh và một số người nói rằng với 'Dữ liệu lớn', điều quan trọng hơn là xem xét kích thước hiệu ứng, tức là. liệu xét nghiệm có ý nghĩa VÀ có ảnh hưởng đủ lớn để chúng ta quan tâm hay không. Điều này là do ở kích thước mẫu lớn, giá trị p sẽ nhận được những khác biệt rất nhỏ, giống như được giải thích ở đây .

Tuy nhiên, kích thước hiệu ứng có thể được xác định bằng cách chia tỷ lệ của dữ liệu. Dưới đây tôi chia tỷ lệ biến giải thích thành một cường độ đủ nhỏ với kích thước mẫu đủ lớn, nó có ảnh hưởng lớn đến biến phụ thuộc.

Vì vậy, tôi tự hỏi, làm thế nào để chúng ta có được cái nhìn sâu sắc từ Dữ liệu lớn nếu những vấn đề này tồn tại?

%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

Kiểm tra giả thuyết là về việc từ chối các mô hình null. Với nhiều dữ liệu hơn, bạn có thể từ chối "các mô hình null lớn hơn", ví dụ: bằng cách có nhiều đồng biến hoặc kiểm tra nhiều giả thuyết.
momeara


2
Con voi trong phòng là tính đại diện của "dữ liệu lớn". Nhiều bộ dữ liệu khổng lồ được thu thập trên Internet là các mẫu thuận tiện (tốt nhất); có những mối nguy hiểm tiềm ẩn nhưng nổi tiếng ẩn giấu trong nỗ lực khái quát hóa từ mẫu đến dân số lớn hơn hoặc quá trình đang diễn ra.
whuber

1
"Một số người nói rằng với 'Dữ liệu lớn', điều quan trọng hơn là xem xét kích thước hiệu ứng." Với 'Dữ liệu nhỏ', điều quan trọng là phải xem xét kích thước hiệu ứng.
Ari B. Friedman

Câu trả lời:


11

Như Peter đề xuất, tôi nghĩ một trong những điều quan trọng trong kỷ nguyên của "Dữ liệu lớn" là tập trung ít hơn vào giá trị p và hơn nữa là ước tính mức độ ảnh hưởng.

Một số công việc của riêng tôi đấu tranh với điều này theo cách mà tôi nghĩ thậm chí còn ngấm ngầm hơn với Dữ liệu lớn - đối với các mô hình tính toán ngẫu nhiên, sức mạnh của bạn hoàn toàn là một chức năng của sự kiên nhẫn và tài nguyên máy tính. Đó là một công trình nhân tạo.

Vì vậy, quay trở lại ước tính hiệu quả. Ngay cả khi nó có ý nghĩa, liệu mức tăng 0,0001% trong một vấn đề nào đó trong thế giới thực?

Tôi cũng đã chơi xung quanh với việc đảo ngược một số ý tưởng đằng sau báo cáo sức mạnh nghiên cứu. Thay vì báo cáo sức mạnh mà nghiên cứu của bạn phải phát hiện ra hiệu ứng quan sát được, hãy báo cáo kích thước hiệu ứng tối thiểu mà nghiên cứu được cung cấp để tìm thấy. Bằng cách đó, người đọc có thể biết nếu ý nghĩa cơ bản được đảm bảo.


7

Cái nhìn sâu sắc mà bạn mong muốn sẽ đến từ khoảng tin cậy, không nhiều từ giá trị p. Với kích thước mẫu rất lớn, bạn sẽ có được khoảng tin cậy rất chính xác, miễn là các giả định thống kê của bạn là chính xác.


Cảm ơn Mike. Bạn có nói trong những tình huống này, việc kiểm tra các khoảng tin cậy sẽ cho thấy rằng chúng rất rộng đến mức chúng ta không nên thực sự tin tưởng vào giá trị chính xác của các ước tính của mình?
JoeDanger

Điều thú vị là làm thế nào bằng trực giác, câu hỏi được đặt ra là một vấn đề đối với dữ liệu lớn (trong đó các bài kiểm tra giả thuyết cho chúng ta biết làm thế nào một điều không chắc chắn là 0 là vô nghĩa) và không phải là vấn đề đối với dữ liệu nhỏ (trong đó ước tính tham số rất không chính xác và thông thường, tất cả mọi người có thể nói là làm thế nào tham số không chính xác là 0).
jona

6

Điều quan trọng là phải xem xét kích thước hiệu ứng bất kể dữ liệu là lớn hay nhỏ.

Với dữ liệu hoàn toàn ngẫu nhiên, bạn sẽ nhận được kết quả đáng kể 5% thời gian. Đó là ý nghĩa của giá trị p. Điều này cũng đúng bất kể kích thước mẫu. Những gì thay đổi với kích thước mẫu là kích thước nhỏ của hiệu ứng phải được tìm thấy đáng kể; nhưng, với các mẫu nhiễu lớn, chỉ có sự khác biệt nhỏ; với các mẫu nhỏ, sự khác biệt lớn hơn xảy ra thường xuyên hơn. Hãy nghĩ đến việc lật một đồng xu 10 lần: Kiếm 8, 9 hoặc thậm chí 10 đầu sẽ không vô lý. Tuy nhiên, nếu bạn tung đồng xu 1000 lần, sẽ rất kỳ quặc khi nhận được 800 đầu, ít hơn 900 hoặc 1000 (con số chính xác có thể được tính, nhưng đó không phải là điểm chính. từ 500 sẽ có ý nghĩa

ví dụ: kiểm tra t với dữ liệu ngẫu nhiên, 2 vectơ có độ dài 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

Tôi đã nhận được 0,07

Với hai vectơ kích thước 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

Tôi được 0,05.


1
Florn, tôi thấy điều này được soạn thảo tốt, có bất kỳ tài liệu học thuật / sách giáo khoa thống kê mà người ta có thể tham khảo mà làm cho một điểm tương tự?
SAFEX

1
Điểm cụ thể nào? Về việc xem xét kích cỡ hiệu ứng? Hay về ngẫu nhiên là gì?
Peter Flom - Tái lập Monica

"Điều khác biệt với kích thước mẫu là kích thước nhỏ của hiệu ứng phải được tìm thấy đáng kể", điều này rất trực quan từ văn bản, nhưng có công trình học thuật chứng minh điểm này
SAFEX

1
Tôi không biết về một cuốn sách chứng minh rõ ràng về nó - nếu bạn muốn một số loại sách thống kê toán học, tôi không phải là người để hỏi. Tôi chắc chắn ai đó ở đây sẽ biết, nhưng họ có thể không thấy chủ đề bình luận này. Có lẽ hỏi một câu hỏi riêng như "Bằng chứng rõ ràng rằng những gì thay đổi ...."
Peter Flom - Tái lập Monica

1
thực hiện và cảm ơn một lần nữa vì mô tả trực quan ( stats.stackexchange.com/questions/412643/ ))
SAFEX

2

Như đã được đề cập, trong thử nghiệm giả thuyết, bạn thực sự đang nghiên cứu giả thuyết khống, thường là với hy vọng rằng bạn có thể từ chối nó. Ngoài các câu trả lời khác, tôi muốn đề xuất một cách tiếp cận hơi khác.

Nói chung, nếu bạn có một lý thuyết nào đó về những gì có thể xảy ra trong dữ liệu của mình, bạn có thể thực hiện phân tích xác nhận (như phân tích nhân tố xác nhận chỉ là một ví dụ). Để làm như vậy, bạn sẽ cần một mô hình. Sau đó, bạn có thể thấy mô hình của bạn phù hợp với dữ liệu như thế nào. Cách tiếp cận này cũng sẽ cho phép thử nghiệm các mô hình khác nhau với nhau. Điều thú vị với Big Data là nó cho phép bạn thực sự thực hiện các thử nghiệm mô hình này. Ngược lại, trong tâm lý học, ví dụ như thường không thực sự có thể làm được, bởi vì kích thước mẫu có xu hướng quá nhỏ đối với các loại phương pháp này.

Tôi nhận ra rằng thông thường với Big Data, một cách tiếp cận khám phá được sử dụng, bởi vì chưa có lý thuyết nào. Ngoài ra, vì tôi không biết chính xác những gì bạn quan tâm, nên đây có thể không thực sự là một lựa chọn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.