WYKRES

Transkrypt

WYKRES
„Bioinformatyka - rozwój oferty edukacyjnej Uniwersytetu Przyrodniczego we Wrocławiu”
projekt realizowany w ramach Programu Operacyjnego Kapitał Ludzki
współfinansowanego ze środków Europejskiego Funduszu Społecznego
Wykład 5
Regresja liniowa - Diagnostyka
• Diagnostyka – ocena prawidłowości założeń
• Środki zaradcze – odpowiednie
dostosowanie metod analizy
• Model: Yi = β0 + β1Xi + ξi
• Wartości przewidywane: Ŷi = b0 + b1Xi
• Reszty: ei = Yi – Ŷi
• ei powinno być bliskie ξi
• Model zakłada, że ξi są iid N(0, σ2)
Wykres
Wykres
Pytania na które szukamy
odpowiedzi
•
•
•
•
WYKRES
Wykres
Diagnostyka dla reszt
Wykres
Czy zależność jest liniowa ?
Czy wariancja Y zależy od X?
Czy są obserwacje odstające ?
Czy reszty zależą od kolejności w zbiorze danych
(_n_)
• Czy zakłócenia mają rozkład normalny ?
• Czy zakłócenia są niezależne ?
Czy zależność jest liniowa ?
• Rysujemy Y vs X
• Rysujemy e vs X
• Wykres e vs X podkreśla odstępstwa od
liniowości
proc reg data=a100;
model y=x;
output out=a2 r=resid;
run;
Data a100;
do x=1 to 30;
y=x*x-10*x+30+25*normal(0);
output;
end;
run;
Source DF
Sum of Mean
Squares Square
Model
Error
C Tot
1032098 1032098
169048
6037
1201145
1
28
29
F Value
170.95
symbol1 v=circle i=rl;
proc gplot data=a2;
plot y*x;
run;
symbol1 v=circle i=sm60;
proc gplot data=a2;
plot y*x;
proc gplot data=a2;
plot resid*x/vref=0;
run;
Pr > F
<.0001
Czy wariancja zależy od X?
• Rysujemy Y vs X
• Rysujemy e vs X
• Wykres e vs X podkreśla odstępstwa od
założenia o równej wariancji
Data a100a;
do x=1 to 100;
y=100*x+30+10*x*normal(0);
output;
end;
run;
Czy zakłócenia pochodzą z rozkładu
normalnego ?
35
30
• Naprawdę chodzi nam o to aby sprawdzić
czy rozkład reszt na tyle różni się od
normalnego, że przedziały ufności i testy
istotności tracą swoje własności.
• Oceniamy rozkład reszt za pomocą
wykresu kwantylowego
25
P
e
r
c
e
n
t
20
15
10
5
0
-180
-140
-100
-60
-20
20
60
100
140
180
Residual
Niezależność błędów
• Zwykle odstępstwa od tego założenia można
zaobserwować rysując reszty w funkcji czasu
• Mogą pojawić się trendy lub zakłócenia
okresowe
Czy są obserwacje odstające ?
• Wykres Y vs X
• Wykres e vs X
• Wykres e vs X powinien ułatwić identyfikację
obserwacji odstającej
Data a100b1;
do x=1 to 100 by 5;
y=30+50*x+200*normal(0);
output;
end;
x=50; y=30+50*50 +10000;
d='out'; output;
run;
proc reg data=a100b1;
model y=x;
where d ne 'out';
run;
proc reg data=a100b1;
model y=x;
output out=a2 r=resid;
run;
Root MSE
Root MSE
Var
Par
Est
Int -2.54
x
50.51
St
Error
95.29
1.68
Int 432.20 979.57
x
51.37 17.45
t
Pr>|t|
29.91 <.0001
2.94
.0083
217.77514
2250.22683
Różne rodzaje obserwacji odstających
• Obserwacja odstająca w poprzednim
przykładzie wpłynęła na estymator punktu
przecięcia z osią Y
• Ale nie na estymator nachylenia
• Zwiększyła estymator odchylenia
standardowego
• W kolejnym przykładzie zademonstrujemy jak
obserwacja odstająca może wpływać na
estymator nachylenia
Data a100c1;
do x=1 to 100 by 5;
y=30+50*x+200*normal(0);
output;
end;
x=100; y=30+50*100 -10000;
d='out'; output;
run;
Var
Int
x
Par
St
Est Err
73.2 93.6
49.8 1.6
Int 903.9 899.3
x
24.1 15.1
t
proc reg data=a100c1;
model y=x;
where d ne 'out';
run;
proc reg data=a100c1;
model y=x;
output out=a2 r=resid;
run;
Pr>|t|
30.02
<.0001
1.59
0.1285
Inne wykresy
• Można również wykonać
• Wykres pudełkowy
• Wykres reszt w funkcji czasu lub innych
potencjalnych zmiennych wyjaśniających
Testy normalności
• H0: obserwacje w próbie prostej
pochodzą z rozkładu normalnego
• H1: obserwacje nie pochodzą z rozkładu
normalnego
Test
(Shapiro-Wilk
Kolmogorov-Smirnov
Cramer-von Mises
Anderson-Darling
statistic
(0.978
0.095
0.033
0.207
W )
D
W-Sq
A-Sq
-----p Value-----Pr < W
0.8626)
Pr > D
>0.1500
Pr > W-Sq >0.2500
Pr > A-Sq >0.2500
Zależności nieliniowe (2)
Testy normalności (2)
• Moc testu wzrasta wraz z rozmiarem
próby
• Dla dużych rozmiarów prób test
``wyłapuje’’ odchylenia od normalności,
które nie są niebezpieczne.
Relacje nieliniowe
• Do opisu wielu relacji nieliniowych można
stosować regresję liniową. Zwykle
wymaga to zamiany, a czasami
zwiększenia liczby, zmiennych
niezależnych
Y = β0 + β1X + β2X2 + ξ
–Y = β0 + β1log(X) + ξ
Zależności nieliniowe (3)
• Czasami można przekształcić zależność
nieliniową w zależność liniową
•
•
•
•
Np. jeżeli Y ≈ β0exp(β1X)
To można rozważyć model liniowy
log(Y) ≈ log(β0) + β1X
Uwaga – zmieniają się założenia o błędzie
losowym
• Można analizować dane za
pomocą regresji nieliniowej
• SAS PROC NLIN
Zmienność wariancji składnika
losowego
• Czasami można zamodelować w jaki sposób
zmienia się wariancja błędu (np. może ona
być liniowo związana z X)
• Można użyć regresji ważonej
• Używamy opcji weight w PROC REG
Rozkład składnika losowego nie
jest normalny
• Można próbować transformacji
• Można stosować procedury które
radzą sobie z błędami z innych
rozkładów
• SAS PROC GENMOD
GENMOD (2)
GENMOD (1)
•
•
•
•
•
•
•
Możliwe rozkłady Y:
Dwumianowy (dane binarne)
Poissona
Gamma (wykładniczy)
Odwrotny Gaussowski
Ujemny dwumianowy
wielomianowy
• Można wyspecyfikować funkcję g w równaniu
• g(µ)=b0+ b1x1+ …+bkxk
• gdzie µ=E(Y).
Koło transformacji
Transformacje potęgowe
1.5
p
1.0
Transformacja
to xp
X w dół,
Y w górę
Y
X w górę,
Y w górę
0.5
X
0.0
-0.5
-1.0
X w dół,
X w górę,
Y w dół
Y w dół
Ważne przypadki specjalne
Transformacja Boxa-Coxa
• Y’ = Yλ
• albo Y’ = (Yλ - 1)/λ
• λ=0 - naturalny logarytm
•
•
•
•
•
λ = 1, Y’ = Y1, brak transformacji
λ = .5, Y’ = Y1/2
λ = -.5, Y’ = Y-1/2
λ = -1, Y’ = Y-1 = 1/Y
λ = 0, Y’ = log(Y)
Transformacja Boxa-Coxa (2)
data a1; input age plasma @@;
cards;
• Można wyestymować λ włączając ten
parametr do modelu
• Yλ = β0 + β1X + ξ
• i stosując metodę największej
wiarogodności
0 13.44 0 12.84 0 11.91 0 20.09 0 15.60
1 10.11 1 11.38 1 10.28 1 8.96 1 8.59
2 9.83 2 9.00 2 8.65 2 7.85 2 8.88
3 7.94 3 6.01 3 5.14 3 6.90 3 6.77
4 4.86 4 5.10 4 5.67 4 5.75 4 6.23
;
PROC TRANSREG
proc transreg data=a1;
model Box(plasma)=identity(width) /alpha=0.05;
run;
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Lambda
R-Square Log Like
-3.00
-2.75
-2.50
-2.25
-2.00
-1.75
-1.50
-1.25
-1.00
-0.75
-0.50
-0.25
0.00 +
0.25
0.50
0.75
1.00
1.25
1.50
1.75
2.00
2.25
2.50
2.75
3.00
0.71
0.73
0.76
0.78
0.80
0.82
0.83
0.85
0.86
0.86
0.87
0.86
0.85
0.84
0.82
0.79
0.75
0.72
0.67
0.63
0.59
0.54
0.50
0.46
0.42
-21.8996
-19.4576
-17.0444
-14.6732
-12.3665
-10.1608
-8.1127
-6.3056
-4.8523 *
-3.8891 *
-3.5523 <
-3.9399 *
-5.0754 *
-6.8988
-9.2925
-12.1209
-15.2625
-18.6233
-22.1378
-25.7629
-29.4720
-33.2490
-37.0844
-40.9728
-44.9109
< - Best Lambda
* - Confidence Interval
+ - Convenient Lambda
BOX-COX - Przykład
data a2; set a1; ynew=1/sqrt(plasma);
proc gplot data=a2;
plot ynew*age;
run;

Podobne dokumenty