Как вы выполняете проверки гипотез с большими данными? Я написал следующий скрипт 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
источник
Ответы:
Как предположил Питер, я думаю, что одна из важных вещей в эпоху «больших данных» - это уделять еще меньше внимания значениям р, а больше - оценке величины эффекта.
Некоторые из моих собственных работ борются с этим способами, которые, на мой взгляд, еще более коварны, чем с большими данными - для стохастических вычислительных моделей ваша мощь полностью зависит от терпения и вычислительных ресурсов. Это искусственная конструкция.
Итак, вернемся к оценке эффекта. Даже если это важно, увеличение на 0,0001% чего-либо имеет значение в реальном мире?
Я также пытался изменить некоторые идеи, лежащие в основе сообщения о силе обучения. Вместо того, чтобы сообщать о силе, которую ваше исследование должно было обнаружить наблюдаемый эффект, сообщая о минимальном размере эффекта, который было найдено для исследования. Таким образом, читатель может узнать, гарантировано ли значение.
источник
Понимание того, что вы желаете, будет основываться на доверительных интервалах, а не на р-значениях. При очень большом размере выборки вы получите очень точные доверительные интервалы, если ваши статистические предположения верны.
источник
Важно смотреть на размер эффекта независимо от того, являются ли данные большими или маленькими.
С чисто случайными данными вы должны получить значительный результат в 5% случаев. Вот что означает р-значение. Это также верно независимо от размера выборки. Что зависит от размера выборки, так это то, насколько маленький размер эффекта должен быть найден значительным; но при больших выборках чистого шума возможны только небольшие различия; с небольшими выборками большие различия встречаются чаще. Подумайте о подбрасывании монеты 10 раз: получение 8, 9 или даже 10 голов не было бы абсурдом. Однако, если вы подбрасываете монету 1000 раз, было бы странно получить 800 голов, а тем более 900 или 1000 (точные числа можно вычислить, но это не главное. Однако при 1000 бросках даже небольшое отклонение от 500 будет значительным.
например, t-критерий со случайными данными, 2 вектора длиной 10
Я получил 0,07
С двумя векторами размера 1000
Я получил 0,05.
источник
Как уже упоминалось, при проверке гипотез вы фактически исследуете нулевую гипотезу, обычно в надежде, что вы можете отвергнуть ее. В дополнение к другим ответам я хотел бы предложить несколько иной подход.
Вообще говоря, если у вас есть какая-то теория о том, что может происходить в ваших данных, вы можете провести подтверждающий анализ (например, подтверждающий факторный анализ в качестве одного из примеров). Для этого вам понадобится модель. Затем вы можете увидеть, насколько хорошо ваша модель соответствует данным. Этот подход также позволит тестировать разные модели друг против друга. Хорошая вещь с большими данными в том, что они позволяют вам на самом деле делать эти модельные тесты. Напротив, в психологии, например, это часто не представляется возможным, потому что размеры выборки, как правило, слишком малы для такого рода методов.
Я понимаю, что обычно для больших данных используется исследовательский подход, потому что теории пока нет. Кроме того, поскольку я не знаю, что именно вас интересует, на самом деле это не вариант.
источник