Санҷишҳои оморӣ
Чаро фарзияҳоро месанҷем
Ду маҷмӯи ҷузъҳо метавонанд танҳо аз сабаби парокандагии тасодуфӣ андозаҳои миёнаи гуногун дошта бошанд. Санҷиши оморӣ фарқи мушоҳидашударо бо парокандагие муқоиса мекунад, ки аз рӯйи модели интихобшуда интизор аст. Санҷиш барои таҳлили таҷрибаҳо, муқоисаи равандҳо ва ёфтани робитаҳо дар додаҳо лозим мешавад. Натиҷа на танҳо аз ададҳо, балки аз тарзи ҷамъоварии додаҳо низ вобаста аст.
Дар ин мавзӯъ миёнаҳои гурӯҳҳои мустақилро муқоиса карда, робитаи ду аломати ададиро чен мекунем ва мустақилияти категорияҳоро месанҷем. Инҳо се саволи гуногунанд. Аввал саволро муайян карда, санҷиши мувофиқро интихоб кунед, баъд статистикаро ҳисоб кунед. Танҳо p-value-и хурд ҷойи дарки таҷрибаро намегирад.
1. Фарзияи сифрӣ, статистика ва p-қимат
Фарзияи сифрии H₀ иддаои мушаххас аст, масалан «миёнаҳо баробаранд». Статистика додаҳоро ба як адад ҷамъбаст мекунад, ки мувофиқати онҳоро бо фарзия нишон медиҳад. p-қимат эҳтимолияти гирифтани чунин статистика ё статистикаи шадидтар аст, ба шарте ки H₀ дуруст бошад ва фарзияҳои санҷиш иҷро шаванд. Ин эҳтимолияти шартии натиҷаҳо аст, на эҳтимолияти худи фарзия.
Пеш аз дидани натиҷа сатҳи аҳаммиятнокии alpha, масалан 0.05, интихоб мешавад. Агар p < alpha бошад, H₀ рад карда мешавад. Дар акси ҳол барои рад кардан далел кофӣ нест; баробарӣ исбот нашудааст. Мисоли навбатӣ танҳо қоидаи муқоисаро бе ҳисоб кардани санҷиш нишон медиҳад.
alpha = 0.05
for p in [0.003, 0.2, 0.05]:
print(p, p < alpha)
Натиҷа:
0.003 True
0.2 False
0.05 False
2. Миёнаҳои гурӯҳҳои мустақил: ttest_ind
Гурӯҳҳои мустақил маънои онро доранд, ки мушоҳидаҳои як гурӯҳ ченкуниҳои такрории ҳамон объектҳои гурӯҳи дигар нестанд. ttest_ind(a, b) бо нобаёнӣ баробарии дисперсияҳоро фарз мекунад. Намуди Уэлч, equal_var=False, ин баробариро талаб намекунад. Он ҳамоно ба мустақилияти мушоҳидаҳо ва модели мувофиқи миёнаҳои интихобӣ такя мекунад; дар интихобҳои хурд қиматҳои дурпартофта ба натиҷа махсусан таъсир мерасонанд.
Натиҷа statistic ва pvalue дорад. Аломати статистика ба аломати фарқи миёнаи гурӯҳи якум ва дуюм мувофиқ аст. Санҷиши нобаёнӣ дутарафа аст: фарқ дар ҳар ду самт муҳим мебошад. Гурӯҳҳои поён ченкуниҳои ду хатти истеҳсолии гуногунанд, на ченкуниҳои ҷуфтӣ.
from scipy.stats import ttest_ind
a = [10, 12, 11, 13, 14]
b = [8, 9, 10, 7, 11]
res = ttest_ind(a, b, equal_var=False)
rev = ttest_ind(b, a, equal_var=False)
print(round(res.statistic, 6), round(res.pvalue, 6))
print(round(rev.statistic, 6), round(rev.pvalue, 6))
Натиҷа:
3.0 0.017072
-3.0 0.017072
Барои ченкуниҳои такрории ҳамон объектҳо санҷиши ҷуфтии ttest_rel лозим аст: он фарқҳои дохили ҷуфтҳоро таҳлил мекунад. Танҳо баробарии дарозии рӯйхатҳо додаҳоро ҷуфтӣ намекунад. Ҷуфт аз тарзи ҷамъоварии додаҳо муайян мешавад, бинобар ин як пайдарпайиро алоҳида омехта кардан мумкин нест.
from scipy.stats import ttest_rel
before = [10, 12, 14, 16, 18]
after = [9, 10, 13, 13, 16]
res = ttest_rel(before, after)
print(round(res.statistic, 6), round(res.pvalue, 6))
Натиҷа:
4.810702 0.008581
t-санҷиш чӣ гуна кор мекунад
Усул фарқи миёнаҳоро бо арзёбии парокандагии маъмулии тасодуфии он — хатои стандартӣ — муқоиса мекунад. Фарқи калон бо парокандагии хурд статистикаи аз рӯйи модул калон медиҳад. Сипас аз тақсимоти t ва шумораи дараҷаҳои озодӣ p-қимат гирифта мешавад. Уэлч саҳми дисперсияи ҳар гурӯҳро алоҳида арзёбӣ карда, дараҷаҳои озодиро ислоҳ мекунад. Интихоби калон метавонад фарқи хеле хурдро аҳаммиятнок гардонад, аз ин рӯ худи миёнаҳоро низ дидан фоиданок аст.
3. Робитаи хаттӣ: pearsonr
Коррелятсияи Пирсон наздикиро ба хати рост чен карда, аз -1 то 1 мебошад. Аломати мусбат афзоиши якҷоя ва аломати манфӣ афзоиши як аломатро ҳангоми камшавии дигар нишон медиҳад. Сифр набудани робитаи хаттиро мефаҳмонад, на набудани ҳар гуна вобастагиро. Аргументҳо бояд ҳамон объектҳоро бо ҳамон тартиб тавсиф кунанд ва ҳар ду аломат бояд тағйир ёбанд. Дар ин ҷо statistic, яъне худи коэффитсиентро мегирем, на p-қимати онро.
from scipy.stats import pearsonr
x = [-2, -1, 0, 1, 2]
print(round(pearsonr(x, [4, 2, 0, -2, -4]).statistic, 6))
print(round(pearsonr(x, [4, 1, 0, 1, 4]).statistic, 6))
Натиҷа:
-1.0
0.0
4. Робитаи монотонӣ: spearmanr
Рутба ҷойи қимат пас аз мураттабсозӣ аст. Ба қиматҳои баробар миёнаи рутбаҳои ишғолшуда дода мешавад: барои [10, 20, 20, 30] ин [1, 2.5, 2.5, 4] аст. Коррелятсияи Спирмен коррелятсияи Пирсон байни рутбаҳо мебошад. Аз ин рӯ, он робитаи монотонӣ-ро мебинад: вақте бо афзоиши як аломат аломати дигар пайваста меафзояд ё кам мешавад, ҳатто агар график рост набошад. Рутбаҳо таъсири бузургии қиматҳои дурпартофтаро кам мекунанд, вале усулро аз хатои додаҳо комилан эмин намесозанд.
from scipy.stats import pearsonr, spearmanr, rankdata
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
print(round(pearsonr(x, y).statistic, 6))
print(round(spearmanr(x, y).statistic, 6))
print(rankdata([10, 20, 20, 30]).tolist())
Натиҷа:
0.984374
1.0
[1.0, 2.5, 2.5, 4.0]
5. Категорияҳо: chi2_contingency
Барои аломатҳои категориявӣ ҷадвали ҳамбастагӣ месозанд: сатрҳо категорияҳои аломати якум, сутунҳо категорияҳои дуюм ва ҳуҷайраҳо шумораи мушоҳидаҳо мебошанд. Дар ин ҷо миёнаҳо ё рақамҳои шартии категорияҳоро гузоштан мумкин нест. Фарзияи сифрӣ мустақилияти аломатҳоро мегӯяд. Дар ин ҳолат шумораи интизории ҳуҷайра ба ҳосили зарби ҷамъи сатр ва ҷамъи сутуни он, тақсим ба ҳаҷми умумии интихоб, баробар аст.
Санҷиш шумораҳои мушоҳидашуда ва интизориро муқоиса мекунад. statistic, pvalue, dof, expected_freq статистика, p-қимат, дараҷаҳои озодӣ ва ҷадвали интизориро доранд. Барои ҷадвали одии дученака dof = (r - 1)(c - 1) аст. Ҳангоми як дараҷаи озодӣ бо нобаёнӣ ислоҳи Йейтс истифода мешавад. Агар шумораҳои интизорӣ хеле хурд бошанд, наздиккунии хи-квадрат метавонад нодуруст бошад.
from scipy.stats import chi2_contingency
table = [[12, 8], [8, 12]]
res = chi2_contingency(table)
print(round(res.statistic, 6), round(res.pvalue, 6), res.dof)
print(res.expected_freq.tolist())
Натиҷа:
0.9 0.342782 1
[[10.0, 10.0], [10.0, 10.0]]
Хатоҳои маъмул ва ислоҳи онҳо
- Гуфтани «
p=0.02, пас фарзия бо эҳтимолияти 2% дуруст аст» нодуруст аст: санҷиш чунин эҳтимолиятро ҳисоб накардааст. Ислоҳ: ҳангоми дурустииH₀натиҷаи ин қадар шадид эҳтимолияти 2% дорад; онро боalpha-и пешакӣ интихобшуда муқоиса кунед. ttest_ind(before, after)барои ченкуниҳои такрорӣ ҷуфтҳоро сарфи назар карда, p-қимати дигар медиҳад. Ислоҳ:ttest_rel(before, after)бо нигоҳ доштани тартиби ҷуфтҳо. Барои гурӯҳҳои мустақилttest_ind-ро истифода баред.pearsonr(x, [5, 5, 5, 5])бо аломати дуюми доимӣ огоҳӣ ваnanмедиҳад: коррелятсия муайян нест. Ислоҳ: пеш аз ҳисоб тағйирпазирии аломатҳоро санҷед, на ин киnan-ро ба сифр иваз кунед.- Алоҳида мураттаб кардани
xваyпеш аз коррелятсия ҷуфтҳоро вайрон карда, робитаи сунъӣ месозад. Ислоҳ: мушоҳидаҳоро якҷо нигоҳ доред; барои Спирмен китобхона худ рутбабандӣ мекунад. chi2_contingency(table, correction=False)натиҷаи ҷадвали 2×2-ро иваз мекунад. Ислоҳ: маҳз танзими ислоҳеро нигоҳ доред, ки шарт талаб мекунад.
Ҳатто коррелятсияи қавӣ сабабиятро исбот намекунад: тағйирёбандаи сеюм метавонад ба ҳар ду аломат таъсир кунад.
Ёддошт
| Савол | Функсия | Шарти асосӣ |
|---|---|---|
| Оё миёнаҳои гурӯҳҳои мустақил фарқ мекунанд? | ttest_ind(a, b, equal_var=False) |
Мустақилият, модели мувофиқ |
| Оё қиматҳои ҳамон объектҳо тағйир ёфтанд? | ttest_rel(a, b) |
Ҷуфтҳои нигоҳдошташуда |
| Оё робитаи хаттӣ ҳаст? | pearsonr(x, y) |
Аломатҳои ададии ғайридоимӣ |
| Оё робитаи монотонӣ ҳаст? | spearmanr(x, y) |
Ҷуфтҳо, коркарди дурусти рутбаҳои баробар |
| Оё категорияҳо мустақиланд? | chi2_contingency(table) |
Шумораҳо дар ҳуҷайраҳо |
Дар санҷишҳо statistic ва pvalue-ро фарқ кунед. Қоидаи радкунӣ: pvalue < alpha. Аҳаммиятнокии оморӣ андозаи таъсирро чен намекунад, бинобар ин ҳамроҳи санҷиш худи додаҳоро низ омӯзед.