আমি আপনার প্রশ্নটি পছন্দ করি, তবে দুর্ভাগ্যক্রমে আমার উত্তরটি হ্যাঁ, এটি এইচ0 প্রমাণ করে না । কারণ খুব সহজ। আপনি কীভাবে জানবেন যে পি-মানগুলির বিতরণ অভিন্ন? আপনাকে সম্ভবত অভিন্নতার জন্য একটি পরীক্ষা চালাতে হবে যা আপনাকে তার নিজস্ব পি-মান ফিরিয়ে দেবে, এবং আপনি একই ধরণের অনুমানের প্রশ্নটি শেষ করবেন যা আপনি এড়াতে চাইছিলেন, কেবল আরও এক ধাপ এগিয়ে। আসল এইচ0 এর পি-মানটি দেখার পরিবর্তে , আপনি মূল পি-মানগুলির বন্টনের অভিন্নতার বিষয়ে অন্য একটি এইচ'0 এর পি-মানটি দেখুন ।
হালনাগাদ
এখানে বিক্ষোভ। আমি গাউসিয়ান এবং পোইসন বিতরণ থেকে 100 টি পর্যবেক্ষণের 100 টি নমুনা তৈরি করি, তারপরে প্রতিটি নমুনার স্বাভাবিকতা পরীক্ষার জন্য 100 পি-মানগুলি পাই। সুতরাং, প্রশ্নের ভিত্তি হ'ল যদি পি-মানগুলি অভিন্ন বন্টন থেকে হয়, তবে এটি প্রমাণ করে যে নাল অনুমানটি সঠিক, যা পরিসংখ্যানিক অনুমানের ক্ষেত্রে "অস্বীকার করতে ব্যর্থ" এর চেয়ে শক্তিশালী বক্তব্য। সমস্যাটি হ'ল "পি-মানগুলি ইউনিফর্ম থেকে আসে" এটি একটি অনুমান নিজেই, যা আপনাকে কোনওভাবে পরীক্ষা করতে হবে।
নীচের ছবিতে (প্রথম সারিতে) আমি গুসিয়ান এবং পোইসন নমুনার জন্য স্বাভাবিকতা পরীক্ষা থেকে পি-মানগুলির হিস্টোগ্রামগুলি দেখছি এবং আপনি দেখতে পাচ্ছেন যে একটির তুলনায় অন্যটি একরকম কিনা তা বলা শক্ত। এটা আমার মূল বিষয় ছিল।
দ্বিতীয় সারিতে প্রতিটি বিতরণ থেকে একটি নমুনা দেখায়। নমুনাগুলি তুলনামূলকভাবে ছোট, সুতরাং আপনার সত্যিই খুব বেশি বিনা থাকতে পারে না। আসলে, এই বিশেষ গাউসীয় নমুনা হিস্টোগ্রামে তেমন গাউসিয়ানকে দেখায় না।
তৃতীয় সারিতে আমি হিস্টোগ্রামে প্রতিটি বিতরণের জন্য 10,000 টি পর্যবেক্ষণের সম্মিলিত নমুনাগুলি দেখছি। এখানে, আপনি আরও বিনা রাখতে পারেন, এবং আকারগুলি আরও সুস্পষ্ট।
অবশেষে, আমি একই স্বাভাবিকতা পরীক্ষা চালাই এবং সম্মিলিত নমুনার জন্য পি-মান পাই এবং এটি পয়সনের পক্ষে স্বাভাবিকতা প্রত্যাখ্যান করে, যখন গাউসির পক্ষে প্রত্যাখ্যান করতে ব্যর্থ হয়। পি-মানগুলি হ'ল: [0.45348631] [0.]
এটি অবশ্যই প্রমাণ নয়, তবে সাবমেল থেকে পি-ভ্যালুগুলির বিতরণ বিশ্লেষণ করার পরিবর্তে সম্মিলিত নমুনায় আপনি একই পরীক্ষাটি আরও ভালভাবে চালাবেন এমন ধারণার প্রদর্শন।
পাইথন কোডটি এখানে:
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()