Hypothesentest mit Big Data

12

Wie führen Sie Hypothesentests mit Big Data durch? Ich habe das folgende MATLAB-Skript geschrieben, um meine Verwirrung zu betonen. Es werden lediglich zwei Zufallsreihen generiert und eine einfache lineare Regression einer Variablen auf der anderen ausgeführt. Diese Regression wird mehrmals unter Verwendung verschiedener Zufallswerte durchgeführt und es werden Durchschnittswerte gemeldet. Wenn ich die Stichprobengröße erhöhe, werden die p-Werte im Durchschnitt sehr klein.

Ich weiß, dass p-Werte selbst bei zufälligen Daten klein genug werden, um einen Hypothesentest abzulehnen, da die Leistung eines Tests mit der Stichprobengröße zunimmt, wenn die Stichprobe groß genug ist. Ich habe herumgefragt und einige Leute sagten, dass es bei 'Big Data' wichtiger ist, die Effektgröße zu betrachten, d. H. ob der Test signifikant ist UND eine Wirkung hat, die groß genug ist, um uns darum zu kümmern. Dies liegt daran, dass bei großen Stichprobengrößen die p-Werte sehr kleine Unterschiede aufweisen, wie hier erläutert wird .

Die Effektgröße kann jedoch durch Skalierung der Daten bestimmt werden. Im Folgenden skaliere ich die erklärende Variable auf eine ausreichend kleine Größe, die bei einer ausreichend großen Stichprobengröße einen großen signifikanten Einfluss auf die abhängige Variable hat.

Ich frage mich also, wie wir aus Big Data einen Einblick gewinnen können, wenn diese Probleme bestehen.

%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
JoeDanger
quelle
Beim Testen von Hypothesen geht es darum, Nullmodelle abzulehnen. Mit mehr Daten können Sie "größere Nullmodelle" ablehnen, z. B. indem Sie mehr Kovariaten haben oder mehrere Hypothesen testen.
Momeara
2
Der Elefant im Raum ist die Repräsentativität der "Big Data". Viele riesige Datensätze, die im Internet gesammelt werden, sind (bestenfalls) Beispiele für Bequemlichkeit. Es gibt versteckte, aber bekannte Gefahren, die bei der Verallgemeinerung der Stichprobe auf eine größere Population oder einen laufenden Prozess lauern.
whuber
1
"Einige Leute sagten, dass es bei 'Big Data' wichtiger ist, die Effektgröße zu betrachten." Bei 'Small Data' ist es wichtig, auch die Effektgröße zu berücksichtigen.
Ari B. Friedman

Antworten:

11

Wie Peter vorschlug, ist es meines Erachtens eines der wichtigsten Dinge im Zeitalter von "Big Data", die p-Werte noch weniger in den Vordergrund zu rücken und mehr auf die Abschätzung des Ausmaßes der Wirkung.

Einige meiner eigenen Arbeiten haben damit in einer Weise zu kämpfen, die meiner Meinung nach noch heimtückischer ist als bei Big Data. Bei stochastischen Rechenmodellen hängt Ihre Leistung ausschließlich von Geduld und Rechenressourcen ab. Es ist ein künstliches Konstrukt.

Kehren Sie also zur Effektschätzung zurück. Auch wenn es signifikant ist, spielt eine Zunahme von 0,0001% in der realen Welt eine Rolle?

Ich habe auch damit herumgespielt, einige der Ideen, die hinter der Berichterstattung über die Studienleistung stehen, umzukehren. Anstatt die Leistung anzugeben, die Ihre Studie hatte, um den beobachteten Effekt zu erkennen, geben Sie die minimale Effektgröße an, für die die Studie ermittelt wurde. Auf diese Weise kann der Leser erkennen, ob die Bedeutung im Wesentlichen garantiert war.

Fomite
quelle
7

Die Einsicht, die Sie wünschen, wird aus Konfidenzintervallen kommen, nicht so sehr aus p-Werten. Bei einer sehr großen Stichprobengröße erhalten Sie sehr genaue Konfidenzintervalle, sofern Ihre statistischen Annahmen korrekt sind.

Mike Flynn
quelle
Danke Mike. Wollen Sie damit sagen, dass die Prüfung der Konfidenzintervalle in diesen Situationen zeigt, dass sie so breit sind, dass wir dem genauen Wert unserer Schätzungen nicht wirklich vertrauen sollten?
JoeDanger
Interessant ist, wie intuitiv die Frage als Problem für große Datenmengen formuliert wurde (wobei Hypothesentests, die uns darüber informieren, wie unwahrscheinlich es ist, dass etwas 0 ist, eher sinnlos sind) und nicht als Problem für kleine Daten (bei denen Parameterschätzungen sehr ungenau sind) und oft kann man nur sagen, wie unwahrscheinlich es ist, dass der Parameter genau 0 ist).
Jona
6

Es ist wichtig, die Effektgröße zu betrachten, unabhängig davon, ob die Daten groß oder klein sind.

Mit rein zufälligen Daten sollten Sie in 5% der Fälle ein signifikantes Ergebnis erzielen. Das bedeutet p-Wert. Dies gilt auch unabhängig von der Stichprobengröße. Was mit der Stichprobengröße variiert, ist, wie klein die Effektgröße sein muss, um als signifikant befunden zu werden. Bei großen Stichproben von reinem Rauschen sind jedoch nur geringe Unterschiede wahrscheinlich. Bei kleinen Proben treten größere Unterschiede häufiger auf. Denken Sie daran, 10 Mal eine Münze zu werfen: 8, 9 oder sogar 10 Köpfe zu bekommen, wäre nicht absurd. Wenn Sie jedoch eine Münze 1000 Mal werfen, wäre es wirklich seltsam, 800 Köpfe zu erhalten, geschweige denn 900 oder 1000 (die genauen Zahlen können berechnet werden, aber das ist nicht der Punkt. Bei 1000 Würfen sogar eine kleine Abweichung von 500 wird von Bedeutung sein.

zB ein t-Test mit zufälligen Daten, 2 Vektoren der Länge 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

Ich habe 0,07

Mit zwei Vektoren der Größe 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

Ich habe 0,05.

Peter Flom - Monica wieder einsetzen
quelle
1
Florn, ich finde das gut formuliert, gibt es akademische Papiere / Statistik-Lehrbücher, auf die man verweisen kann, die einen ähnlichen Punkt machen?
SAFEX
1
Welcher spezifische Punkt? Über das Betrachten von Effektgrößen? Oder was ist zufällig?
Peter Flom - Reinstate Monica
„Was ist mit Stichprobengröße variiert , ist , wie klein die Effektgröße von Bedeutung zu sein werden muss gefunden“, das aus dem Text ist sehr intuitiv, aber gibt es wissenschaftliche Arbeit , die beweist , diesen Punkt
SAFEX
1
Ich kenne kein Buch, das dies ausdrücklich beweist - wenn Sie eine Art mathematisches Statistikbuch wollen, bin ich nicht die Person, die danach fragt. Ich bin sicher, jemand hier wird es wissen, aber er könnte diesen Kommentarthread nicht sehen. Vielleicht stellen Sie eine separate Frage wie "Expliziter Beweis, dass was variiert ..."
Peter Flom - Reinstate Monica
1
fertig und nochmals vielen Dank für die intuitive Beschreibung ( stats.stackexchange.com/questions/412643/… )
SAFEX
2

Wie bereits erwähnt, untersuchen Sie beim Testen von Hypothesen tatsächlich die Nullhypothese, normalerweise in der Hoffnung, dass Sie sie ablehnen können. Zusätzlich zu den anderen Antworten möchte ich einen etwas anderen Ansatz vorschlagen.

Wenn Sie eine Theorie darüber haben, was in Ihren Daten vor sich geht, können Sie im Allgemeinen eine Bestätigungsanalyse durchführen (wie die Analyse des Bestätigungsfaktors als nur ein Beispiel). Dazu benötigen Sie ein Modell. Sie können dann sehen, wie gut Ihr Modell zu den Daten passt. Dieser Ansatz würde es auch ermöglichen, verschiedene Modelle gegeneinander zu testen. Das Schöne an Big Data ist, dass Sie diese Modelltests tatsächlich durchführen können. Im Gegensatz dazu ist dies in der Psychologie oft nicht wirklich möglich, da die Stichprobengrößen für diese Art von Methoden tendenziell zu klein sind.

Mir ist klar, dass bei Big Data normalerweise ein explorativer Ansatz verwendet wird, da es noch keine Theorie gibt. Da ich nicht genau weiß, woran Sie interessiert sind, ist dies möglicherweise keine Option.

Jens Kouros
quelle