Ich mag deine Frage, aber leider ist meine Antwort NEIN, es beweist nicht . Der Grund ist sehr einfach. Woher wissen Sie, dass die Verteilung der p-Werte gleichmäßig ist? Sie müssten wahrscheinlich einen Homogenitätstest durchführen, der Ihnen einen eigenen p-Wert zurückgibt, und Sie haben am Ende die gleiche Art von Inferenzfrage, die Sie vermeiden wollten, nur einen Schritt weiter. Anstatt den p-Wert des ursprünglichen , betrachten Sie jetzt einen p-Wert eines anderen über die Gleichmäßigkeit der Verteilung der ursprünglichen p-Werte.H0H0H′0
AKTUALISIEREN
Hier ist die Demonstration. Ich generiere 100 Proben von 100 Beobachtungen aus der Gauß- und Poisson-Verteilung und erhalte dann 100 p-Werte für den Normalitätstest jeder Probe. Die Prämisse der Frage ist also, dass wenn die p-Werte aus einer gleichmäßigen Verteilung stammen, sie beweist, dass die Nullhypothese korrekt ist, was eine stärkere Aussage ist als eine übliche Aussage, die statistische Schlussfolgerungen nicht ablehnt. Das Problem ist, dass "die p-Werte von Uniform sind" eine Hypothese selbst ist, die Sie irgendwie testen müssen.
Im Bild (erste Reihe) unten zeige ich die Histogramme der p-Werte aus einem Normalitätstest für die Guassian- und Poisson-Stichprobe, und Sie können sehen, dass es schwer zu sagen ist, ob einer einheitlicher als der andere ist. Das war mein Hauptpunkt.
Die zweite Zeile zeigt eine der Stichproben aus jeder Verteilung. Die Stichproben sind relativ klein, so dass Sie in der Tat nicht zu viele Fächer haben können. Tatsächlich sieht diese spezielle Gauß-Stichprobe auf dem Histogramm überhaupt nicht so viel Gauß aus.
In der dritten Zeile zeige ich die kombinierten Stichproben von 10.000 Beobachtungen für jede Verteilung in einem Histogramm. Hier können Sie mehr Behälter haben und die Formen sind offensichtlicher.
Schließlich führe ich den gleichen Normalitätstest durch und erhalte p-Werte für die kombinierten Samples, und es lehnt die Normalität für Poisson ab, während es für Gauß nicht lehnt. Die p-Werte sind: [0.45348631] [0.]
Dies ist natürlich kein Beweis, sondern die Demonstration der Idee, dass Sie den gleichen Test für die kombinierte Stichprobe durchführen sollten, anstatt zu versuchen, die Verteilung von p-Werten aus Teilstichproben zu analysieren.
Hier ist Python-Code:
import numpy as np
from scipy import stats
from matplotlib import pyplot as plt
def pvs(x):
pn = x.shape[1]
pvals = np.zeros(pn)
for i in range(pn):
pvals[i] = stats.jarque_bera(x[:,i])[1]
return pvals
n = 100
pn = 100
mu, sigma = 1, 2
np.random.seed(0)
x = np.random.normal(mu, sigma, size=(n,pn))
x2 = np.random.poisson(15, size=(n,pn))
print(x[1,1])
pvals = pvs(x)
pvals2 = pvs(x2)
x_f = x.reshape((n*pn,1))
pvals_f = pvs(x_f)
x2_f = x2.reshape((n*pn,1))
pvals2_f = pvs(x2_f)
print(pvals_f,pvals2_f)
print(x_f.shape,x_f[:,0])
#print(pvals)
plt.figure(figsize=(9,9))
plt.subplot(3,2,1)
plt.hist(pvals)
plt.gca().set_title('True Normal')
plt.gca().set_ylabel('p-value')
plt.subplot(3,2,2)
plt.hist(pvals2)
plt.gca().set_title('Poisson')
plt.gca().set_ylabel('p-value')
plt.subplot(3,2,3)
plt.hist(x[:,0])
plt.gca().set_title('a small sample')
plt.gca().set_ylabel('x')
plt.subplot(3,2,4)
plt.hist(x2[:,0])
plt.gca().set_title('a small Sample')
plt.gca().set_ylabel('x')
plt.subplot(3,2,5)
plt.hist(x_f[:,0],100)
plt.gca().set_title('Full Sample')
plt.gca().set_ylabel('x')
plt.subplot(3,2,6)
plt.hist(x2_f[:,0],100)
plt.gca().set_title('Full Sample')
plt.gca().set_ylabel('x')
plt.show()