Ta odpowiedź składa się z dwóch głównych części: po pierwsze, stosując interpolację liniową , a po drugie, używając transformacji w celu dokładniejszej interpolacji. Podejścia omówione tutaj nadają się do obliczeń ręcznych, gdy masz ograniczone tabele, ale jeśli wdrażasz procedurę komputerową do generowania wartości p, istnieją znacznie lepsze podejścia (jeśli są nużące, gdy wykonuje się je ręcznie), które należy zastosować zamiast tego.
Gdybyście wiedzieli, że wartość krytyczna 10% (jednostronna) dla testu Z wynosiła 1,28, a wartość krytyczna 20% wynosiła 0,84, przybliżone przypuszczenie przy wartości krytycznej 15% byłoby w połowie między - (1,28 + 0,84) / 2 = 1,06 (wartość rzeczywista to 1,0364), a wartość 12,5% można odgadnąć w połowie między tą wartością a wartością 10% (1,28 + 1,06) / 2 = 1,17 (wartość rzeczywista 1,15+). To właśnie robi interpolacja liniowa - ale zamiast „w połowie drogi” patrzy na dowolny ułamek drogi między dwiema wartościami.
Interpolacja liniowa jednowymiarowa
Spójrzmy na przypadek prostej interpolacji liniowej.
Mamy więc funkcję (powiedzmy ), która naszym zdaniem jest w przybliżeniu liniowa w pobliżu wartości, którą próbujemy oszacować, i mamy wartość funkcji po obu stronach żądanej wartości, na przykład:x
x81620y9.3y1615,6
Dwie wartości których „S wiadomo są 12 (20-8) od siebie. Widzisz, jak wartość (ta, dla której chcemy przybliżonej wartości ) dzieli różnicę 12 w stosunku 8: 4 (16–8 i 20–16)? Oznacza to, że jest to 2/3 odległości od pierwszej wartości do ostatniej. Gdyby związek był liniowy, odpowiadający zakres wartości y byłby w tym samym stosunku.y x y xxyxyx
Zatem powinien być mniej więcej taki sam jak . 16-8y16- 9.315,6 - 9,316 - 820 - 8
To jesty16- 9.315,6 - 9,3≈ 16 - 820 - 8
zmiana układu:
y16≈ 9,3 + ( 15,6 - 9,3 ) 16 - 820 - 8= 13,5
Przykład z tabelami statystycznymi: jeśli mamy tabelę t z następującymi wartościami krytycznymi dla 12 df:
( 2- ogon )α0,010,020,050,10t3.052,682.181,78
Chcemy wartości krytycznej tz 12 df i alfa-ogonem 0,025. Oznacza to, że interpolujemy między 0,02 a 0,05 wiersza tej tabeli:
α0,020,0250,05t2,68?2.18
Wartość w „ ” Jest wartością , którą chcemy zastosować do przybliżenia za pomocą interpolacji liniowej. (Przez mam na myśli punkt odwrotnego pliku cdf rozkładu ).?t0,025t0,0251 - 0,025 / 2t12
Tak jak poprzednio, dzieli przedział od do w stosunku do (tj. ), a nieznana wartość powinna podzielić zakres do w tym samym stosunku; równoważnie, występuje drogi wzdłuż zakresu , więc nieznana wartość powinna wystąpić w odległości wzdłuż zakresu .0,0250,020,05( 0,025 - 0,02 )( 0,05 - 0,025 )1 : 5tt2,682.180,025(0.025−0.02)/(0.05−0.02)=1/6xt1/6t
To jest lub równoważniet0.025−2.682.18−2.68≈0.025−0.020.05−0.02
t0.025≈2.68+(2.18−2.68)0.025−0.020.05−0.02=2.68−0.516≈2.60
Rzeczywista odpowiedź to ... co nie jest szczególnie bliskie, ponieważ przybliżona funkcja nie jest bardzo zbliżona do liniowej w tym zakresie (bliżej ).2.56α=0.5
Lepsze przybliżenia dzięki transformacji
Możemy zastąpić interpolację liniową innymi formami funkcjonalnymi; w efekcie przekształcamy się w skalę, w której interpolacja liniowa działa lepiej. W tym przypadku wiele wartości krytycznych w tabeli jest bardziej liniowych względem poziomu istotności. Po pobraniu , po prostu stosujemy interpolację liniową, jak poprzednio. Spróbujmy na powyższym przykładzie:loglog
α0.020.0250.05log(α)−3.912−3.689−2.996t2.68t0.0252.18
Teraz
t0.025−2.682.18−2.68≈=log(0.025)−log(0.02)log(0.05)−log(0.02)−3.689−−3.912−2.996−−3.912
lub równoważnie
t0.025≈=2.68+(2.18−2.68)−3.689−−3.912−2.996−−3.9122.68−0.5⋅0.243≈2.56
Co jest zgodne z podaną liczbą cyfr. Wynika to z faktu, że - gdy przekształcamy logarytmicznie skalę X - związek jest prawie liniowy:
Rzeczywiście, wizualnie krzywa (szara) leży równo na linii prostej (niebieska).
W niektórych przypadkach logit poziomu istotności ( ) może działać dobrze w szerszym zakresie, ale zwykle nie jest konieczny (zwykle dbamy o dokładne wartości krytyczne tylko wtedy, gdy jest wystarczająco małe, aby działało całkiem dobrze).logit(α)=log(α1−α)=log(11−α−1)αlog
Interpolacja w różnych stopniach swobody
tTabele , chi-kwadrat i mają również stopnie swobody, przy czym nie każda wartość df ( -) jest zestawiona w tabeli. Wartości krytyczne przeważnie nie są dokładnie reprezentowane przez interpolację liniową w df. Rzeczywiście, często bardziej zbliżone jest do tego, że wartości tabelaryczne są liniowe we wzajemności df, .Fν†1/ν
(W starych tabelach często widniało się zalecenie do pracy ze - stała na liczniku nie robi różnicy, ale była wygodniejsza w dniach przed kalkulatorem, ponieważ 120 ma wiele czynników, więc jest często liczbą całkowitą, dzięki czemu obliczenia są nieco prostsze).120/ν120/ν
Oto jak odwrotna interpolacja działa na 5% wartości krytycznych między a . Oznacza to, że tylko punkty końcowe uczestniczą w interpolacji w . Na przykład, aby obliczyć wartość krytyczną dla , bierzemy (i zauważmy, że tutaj reprezentuje odwrotność cdf):F4,νν=601201/νν=80F
F4,80,.95≈F4,60,.95+1/80−1/601/120−1/60⋅(F4,120,.95−F4,60,.95)
(Porównaj ze schematem tutaj )
† Przeważnie, ale nie zawsze. Oto przykład, w którym interpolacja liniowa w df jest lepsza, i wyjaśnienie, jak powiedzieć z tabeli, że interpolacja liniowa będzie dokładna.
Oto kawałek stołu w kwadrat chi
Probability less than the critical value
df 0.90 0.95 0.975 0.99 0.999
______ __________________________________________________
40 51.805 55.758 59.342 63.691 73.402
50 63.167 67.505 71.420 76.154 86.661
60 74.397 79.082 83.298 88.379 99.607
70 85.527 90.531 95.023 100.425 112.317
Wyobraź sobie, że chcemy znaleźć wartość krytyczną 5% (95 percentyle) dla 57 stopni swobody.
Patrząc uważnie, widzimy, że 5% wartości krytyczne w tabeli postępują prawie liniowo tutaj:
(zielona linia łączy wartości dla 50 i 60 df; widać, że dotyka kropek dla 40 i 70)
Interpolacja liniowa będzie więc bardzo dobra. Ale oczywiście nie mamy czasu na narysowanie wykresu; jak zdecydować, kiedy zastosować interpolację liniową, a kiedy spróbować czegoś bardziej skomplikowanego?
Oprócz wartości po obu stronach tej, której szukamy, weź następną najbliższą wartość (w tym przypadku 70). Jeśli środkowa wartość tabelaryczna (ta dla df = 60) jest zbliżona do liniowej między wartościami końcowymi (50 i 70), odpowiednia będzie interpolacja liniowa. W tym przypadku wartości są wyrównane, więc jest to szczególnie łatwe: czy bliskie ?(x50,0.95+x70,0.95)/2x60,0.95
że , co w porównaniu z rzeczywistą wartością dla 60 df, 79,082, możemy zobaczyć, że jest dokładne do prawie trzech pełnych liczb, co zwykle jest całkiem dobre dla interpolacji, więc w tym przypadku trzymałbyś się interpolacji liniowej; dzięki dokładniejszemu krokowi dla potrzebnej wartości oczekiwalibyśmy teraz dokładności 3 cyfr.(67.505+90.531)/2=79.018
Otrzymujemy więc: lubx−67.50579.082−67.505≈57−5060−50
x≈67.505+(79.082−67.505)⋅57−5060−50≈75.61 .
Rzeczywista wartość wynosi 75.62375, więc rzeczywiście otrzymaliśmy 3 cyfry dokładności i wypadliśmy tylko o 1 na czwartej cyfrze.
Jeszcze dokładniejszą interpolację można uzyskać, stosując metody różnic skończonych (w szczególności różnic dzielonych), ale jest to prawdopodobnie przesada w przypadku większości problemów z testowaniem hipotez.
Jeśli twoje stopnie swobody przekroczą końce stołu, to pytanie omawia ten problem.