Il i /limit' procedury statystyczne
■;4 cii
I
W analizie wariancji założeniem wymaganym do przeprowadzenia testów ''.ioi.— jest zgodność wektora zakłóceń z rozkładem normalnym oraz niezależ ^ ność zakłóceń od stanu zmiennych objaśniających. Po przeprowadzeniu W analizy wariancji, residua należy zbadać pod kątem zgodności z założę-niami modelu. Do tego celu wykorzystuje się wykresy diagnostyczne, które omówimy w podrozdziale 3.4.4.2 przy okazji regresji liniowej.
i':,. -
3.4.2.1 Analiza kontrastów
Porównywanie wszystkich par średnich ze sobą nie zawsze jest tym, co nas interesuje. • W wielu sytuacjach chcemy porównać wybrane średnie lub grupy średnich pomiędzy sobą. Do porównania wybranych grup średnich służy analiza kontrastów. Procedury do tej analizy są dostępne w pakietach: stats, gmodels, multcomp i contrast. Kontrastem nazywamy liniową funkcję średnich p,
1=1
gdzie SjL, Ci = 0. Jeżeli średnie są sobie równe, to wartość kontrastu jest równa Q. Dobierając odpowiednie kontrasty możemy porównywać określone średnie ze sobą. Przykładowo, dla trzech średnich, wektor c = (2, —1, —1) określa kontrast postaci
L — 2/ti — P2 — /*3-
Taki kontrast będzie wykrywał różnice pomiędzy średnią w pierwszej grupie (p,) a średnią w dwóch pozostałych grupach (p2 i p3).
Oczywiście wyznaczać można dowolne kontrasty. W praktyce badane są kontrar ; sty o określonych dobrych właściwościach, minimalnym wymogiem jest ortogonal-tiość kontrastów. W R dostępne są najczęściej stasowane klasy kontrastów. Listę funkcji do ich automatycznego wyznaczania przedstawiliśmy w tabeli 3.4. Domyślne używane są kontrasty wyznaczane przez funkcję contr.treatment(stats), w tym ; przypadku pierwsza średnia traktowana jest jako poziom odniesienia.
Poniżej przedstawione są przykładowe kontrasty wyznaczone dla pięciu średnich, y.
> U cztery kontrasty domyślnie stosowane w AH0VA
> t(contr.treatment(5))
1 2 3 4 5
2 0 1 0 0 0
3 0 0 1 0 0
4 0 0 0 1 0
5 0 0 0 0 1
> tt inny przykład, cztery kontrasty Helmerta, porównujemy i-tą średnią
wszystkimi poprzednimi
> t(contx.helmert(5))
12 3 |
4 5 |
[1,] -1 1 0 |
0 0 |
[2,3 -1-1 2 |
0 0 |
[3,] -1 -1 -1 |
3 0 |
[4,3 -1 -1 -1 |
-1 4 |
Aby przeprowadzić analizę regresji z użyciem wybranych ki ml i ani i iw, należy "kie |. ś)ić parametr contrasts w funkcji lm(). Kontrasty można okteńlm nle/.iileżule dla jaiżtlej ze zmiennych jakościowych. Parametr contrasts powinien wskazywał na li stę, której nazwy pól odpowiadają nazwom zmiennym jakościowym wyniepuiąi \ni w modelu. Przyjrzyjmy się poniższemu przykładowi.
> # jednokierunkowa analiza wariancji, kontrasty Helmerta
> kontr = contr,helmert(3)
> model = Im (cena~dzie lnica, data=mieszkania,
contrasts® list(dzielnica=kontr))
> summary(model)
Cali:
lo(formula = cena * dzielnica, data = mieszkania, contrasts * list( dzielnica»kontr))
Residuałs:
-84893.1 -31892.1 -880.4 29611.2 106267.8
Coefficients:
Estimate Std. Error t value Pr(>ltl)
(Intercept) 176270 3016 58.450 < 2e-16 ***
dzielnical -10660 3536 -3.015 0.00291 **
dzielnica2 -2563 2220 -1.155 0.24958
Signif. codes: 0 '***’ 0.001 ‘**’ 0.01 ’ 0.05 ‘.’ 0.1 ‘ > 1
Residual standard error: 42230 on 197 degrees of freedom Multiple R-Squared: 0.04873, Adjusted R-squared: 0.03907 F-statistic: 5.046 on 2 and 197 DF, p-value: 0.007294
Możemy też definiować własne kontrasty. Macierz opisującą kolejne kontrasty (reprezentowane przez ich współczynniki c.) należy podać jako element listy będące j argumentem contrasts funkcji lmO. Przykład użycia własnych kontrastów przedstawiamy poniżej.
> # określamy dwa własne kontrasty i porównajmy wyniki z tymi uzyskanymi
powyżej dla kontrastów Helmerta
> kontr • cbind(c(2, -1, -1), c(0, 1, -1))
> model ■ lra(cena‘dzielnica, data-mieszkania,
contrasts® list(dzielnica®kontr))
> summary(model)$coef
Estimate Std. Error t value Pr(>|t|)
(Intercept) 176270.141 3015.732 58.4501978 2.070588e-126
dzielnical 6611.927 2135.391 3.0963539 2.244773e-03
dzielnica2 -1485.239 3688.392 -0.4026793 6.876208e-01
I)o definiowania własnych kontrastów' oraz ich normalizacji i ortogonalizacji, możemy wykorzystać również funkcje mancontr(asuR) i make.contrasts(gmodels).