background image

Regresja liniowa – wprowadzenie 

a)  Model regresji liniowej ma postać: 

 

         

 

 

 

   

 

 

 

       

 

 

 

     

 
gdzie 

   jest  zmienną  objaśnianą  (zależną);   

 

   

 

       

 

  są  zmiennymi 

objaśniającymi (niezależnymi); natomiast 

 

 

   

 

       

 

 są parametrami modelu. 

  jest 

składnikiem losowym modelu. Zakłada się, że 

  ma rozkład normalny oraz          i 

          

 

   .  

Parametry  modelu  podlegają  szacowaniu  (estymacji)  na  przykład  przy  pomocy 
metody najmniejszych kwadratów, czyli 
 

 

     

  

 

 

  

 

      

 

  

  

 

 

   

 
gdzie  macierz 

  jest utworzona z kolumny złożonej z samych jedynek oraz kolumn 

 

 

   

 

       

 

 

Często  zakłada  się  również,  że  liczba  obserwacji 

   powinna  być  większa  od  ilości 

estymowanych parametrów 

 . 

b)  Współczynnik determinacji 

 

 

 informuje nas jaka część zmienności zmiennej zależnej 

   została  wyjaśniona  przez  model.  Współczynnik  determinacji  przyjmuje  wartości  
przedziału 

      .  Dopasowanie  modelu  jest  tym  lepsze,  im  wartość   

 

  jest  bliższa 

jedności. Współczynnik 

 

 

 można wyliczyć ze wzoru: 

 

 

 

     

 

  

 

    

 

 

 

 

   

 

  

 

     

 

 

   

     

 

 

 

 

 

   

 

  

 

     

 

 

   

  

 

c)  Test istotności poszczególnych współczynników regresji. 

 

 

 

   

 

    naprzeciw  

 

   

 

    

 

Statystyka testowa ma postać: 

   

 

 

 

 

   

 

 

 

, gdzie    

 

 

 

    

 

         

   

   

 

  

  

 

 

 

 

 

 

   

         

   

 

    

 

 oznacza 

 -ty element na przekątnej macierzy. 

 

Obszar krytyczny ma postać: 

               

     

    

 

 

    

 

background image

Zadanie  1.  Zaproponować  model  regresji  liniowej  dla  zmiennej  zależnej  „ciśnienie 
skurczowe”.  
 

Przykładowy model regresji liniowej: 

         

 

 

 

   

 

 

 

   

 

 

 

   

 

 

 

     

gdzie: 

 

  – zmienna zależna oznaczająca ciśnienie skurczowe; 

 

 

 

 – parametr związany z płcią; 

 

 

 

 – parametr związany z nadużywaniem papierosów; 

 

 

 

 – parametr związany z nadużywaniem alkoholu; 

 

 

 

 – parametr związany z wiekiem; 

 

  – błąd losowy.  

Komendy, które należy wpisać w pakiecie R (pierwsza komenda wczytuje zbiór danych do 
pakietu R; druga komenda powoduje utworzenie odpowiedniego modelu liniowego; trzecia 
komenda wypisuje niezbędne wyniki): 

data=read.table("C:/Users/student/Desktop/cisnienie1.txt",header=F,sep="\t")  

lm1=lm(data[,1]~data[,3]+data[,4]+data[,5]+data[,6])  

summary(lm1) 

Należy pamiętać, że ścieżka do pliku z danymi dla każdego użytkownika może być różna! 

Wyniki z program R: 

Call: 

lm(formula = data[, 1] ~ data[, 3] + data[, 4] + data[, 5] +  data[, 6]) 

Residuals: 

    Min      1Q  Median      3Q     Max  

-83.534 -14.638   5.919  21.832  70.376  

Coefficients: 

            Estimate Std. Error t value Pr(>|t|)     

(Intercept) 113.4688     8.1110  13.990  < 2e-16 *** 

data[, 3]    -2.5019     4.8261  -0.518 0.604761     

data[, 4]    18.7965     4.8110   3.907 0.000129 *** 

background image

data[, 5]    29.4754     4.6495   6.339 1.57e-09 *** 

data[, 6]     0.1148     0.1453   0.790 0.430685     

--- 

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1  

Residual standard error: 31.39 on 195 degrees of freedom 

Multiple R-squared: 0.2822,     Adjusted R-squared: 0.2675  

F-statistic: 19.17 on 4 and 195 DF,  p-value: 2.594e-13 

Interpretacja wyników: 

  Estymator dla parametru związanego z płcią (zmienna binarna) wynosi -2.5019. Skoro 

w  naszych  danych  mężczyzna  zakodowany  jest  jako  „1”  natomiast  kobieta  jako  „0” 
oznacza  to,  że  pacjent  będący  mężczyzną  ma  ciśnienie  skurczowe  o  2.5019  mmHg 
mniejsze niż kobieta. 

  Estymator dla parametru związanego z nadużywaniem papierosów (zmienna binarna) 

wynosi  18.7965  i  oznacza  to,  że  osoba  paląca  papierosy  ma  ciśnienie  skurczowe 
większe o 18.7965 mmHg. 

  Estymator  dla  parametru  związanego  z  nadużywaniem  alkoholu  (zmienna  binarna) 

wynosi 29.4754 i oznacza to, że osoba pijąca alkohol ma ciśnienie skurczowe większe 
o 24.4754 mmHg. 

  Estymator  dla  parametru  związanego  z  wiekiem  pacjenta  (zmienna  ciągła)  wynosi 

0.1148 i oznacza to, że wraz ze wzrostem wieku  pacjenta o jeden rok jego ciśnienie 
skurczowe wzrośnie o 0.1148 mmHg.  

 

Wyraz  wolny  (Intercept)  wynosi  113.4688  oznacza  to,  że    jeśli  wszystkie  pozostałe 
zmienne będą równe 0 (czyli pacjent będzie kobietą, nie palącą i nie pijącą zaraz po 
urodzeniu)  to  wartość  ciśnienia  skurczowego  pacjenta  będzie  wynosić  113.4688 
mmHg. 

Można teraz wyliczyć ciśnienie skurczowe dla pacjenta będącego mężczyzną, który nie pije 
alkoholu, ale jest w wieku 40 lat i pali papierosy. 

                                                                                   

 

Zadanie 2. Jakie ciśnienie skurczowe ma mężczyzna nadużywający papierosów?  
 

Aby  wyliczyć  jakie  ciśnienie  skurczowe  ma  mężczyzna  nadużywający  papierosów  należy 
rozważyć model liniowy: 

         

 

 

 

   

 

 

 

     

 

background image

 

  – ciśnienie skurczowe 

 

 

 

 – parametr związany z płcią; 

 

 

 

 – parametr związany z nadużywaniem papierosów; 

 

  – składnik losowy modelu; 

Komendy, które należy wpisać do pakietu R: 

lm2=lm(data[,1]~data[,3]+data[,4]) 

summary(lm2) 

Wyniki z program R: 

Call: 

lm(formula = data[, 1] ~ data[, 3] + data[, 4]) 

Residuals: 

    Min      1Q  Median      3Q     Max  

-82.708 -22.062   6.115  27.980  63.465  

 

Coefficients: 

            Estimate Std. Error t value Pr(>|t|)     

(Intercept)  129.062      4.752  27.159  < 2e-16 *** 

data[, 3]     -2.527      5.270  -0.479    0.632     

data[, 4]     27.646      5.025   5.501 1.16e-07 *** 

--- 

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1  

Residual standard error: 34.31 on 197 degrees of freedom 

Multiple R-squared: 0.1338,     Adjusted R-squared: 0.125  

F-statistic: 15.22 on 2 and 197 DF,  p-value: 7.166e-07 

Czyli ciśnienie skurczowe dla mężczyzny nadużywającego papierosów wynosi: 

                                                   

Zadanie 3. Wybrać model z największą wartością współczynnika 

 

 

.  

 

background image

Model  z  największą  wartością  współczynnika 

 

 

  to  model  w  którym  użyjemy  jako 

zmiennych  niezależnych:  ciśnienie  rozkurczowe,  płeć,  nadużywanie  papierosów  i  alkoholu 
oraz wiek. Wartość tego współczynnika dla powyższego modelu wynosi 0.8159. 

Zadanie  4  i  5.  Co  to  jest  kryterium 

   ?  Zaproponować  model  z  „najlepszą”  wartością 

kryterium 

   . (Jakie wartości dla tego kryterium są najlepsze?).  

 

Kryterium  Informacyjne  Akaike  (

   )  -  kryterium  wyboru  pomiędzy  modelami 

statystycznymi  o  różnej  liczbie  zmiennych  objaśniających.  Wzór  na  kryterium 

     ma 

postać: 

                      

gdzie 

  jest funkcją wiarygodności dla danego modelu, a   liczbą parametrów w tym modelu.  

Im mniejsze wartości kryterium 

    tym model jest lepiej dopasowany. 

Aby  sprawdzić  w  pakiecie  R  wartość  kryterium 

     dla  danego  modelu  liniowego  należy 

najpierw zaproponować model, np.: 

lm4=lm(data[,1]~data[,3]+data[,4]+data[,5]+data[,6])  

a następnie wywołać komendę: 

AIC(lm4) 

Wynik z pakietu R: 

1953.136 

Według  kryterium

 

     najlepszy  model  to  taki  w  którym  jedną  zmienną  niezależną  jest 

ciśnienie rozkurczowe. 

Model wprowadzony do pakietu R: 

AIC(lm(data[,1]~data[,2])) 

Wartość kryterium 

    dla powyższego modelu: 

1675.95  

Zadanie 6. Czy współczynników regresji dla „najlepszego” modelu są statystycznie istotne?  
 
Istotność  współczynników  regresji  przeanalizujemy  na  podstawie  modelu  z  zadania  1. 
Wystarczy w tabeli zaznaczonej na czerwono umieć interpretować ostatnią kolumnę, w której 
zawarte  są  p  -wartości.  Wybieramy  poziom  istotności 

   na  którym  będziemy  testować 

istotność  współczynników  regresji.  Jeśli  p  -  wartość  jest  mniejsza  od  założonego  poziomu 
istotności 

   to  współczynnik  regresji  jest  statystycznie  istotny.  W  naszym  przypadku 

zakładamy,  że

           i  dlatego  istotne  są:  wyraz  wolny  oraz  nadużywanie  papierosów  i 

alkoholu. Dodatkowo przy współczynnikach istotnych pojawiają się pewne oznaczenia: 

background image

  *** oznaczają współczynnik istotny od poziomu istotności 0.001 

  ** oznaczają współczynnik istotny od poziomu istotności 0.01 

  * oznacza współczynnik istotny od poziomu istotności 0.05 

 

  oznacza współczynnik istotny od poziomu istotności 0.1 

Zadanie 7. Sprawdzić, czy reszty mają rozkład normalny – funkcja w R: shapiro.test()?  
 

Aby wyznaczyć reszty (czyli czynnik losowy 

 ) należy skorzystać ze wzoru:  

                        

 

  

 

   

 

  

 

       

 

  

 

   

Aby „wydobyć” reszty z danego modelu należy wywołać komendę (w tym przypadku np. dla 
modelu z zadania 2): 

res=lm2$residuals 

Następnie należy użyć testu Shapiro-Wilka przy pomocy komendy: 

shapiro.test(res) 

Shapiro-Wilk normality test

 

data:  res  

W = 0.9688, p-value = 0.0002027 

Ponownie patrzymy na p – wartość. Zakładamy, że

          i skoro p – wartość jest mniejsza 

od 

 . To odrzucamy hipotezę zerową o normalności reszt. 

Zadanie  8.  Utworzyć  nową  kolumnę  danych  o  nazwie  „nadciśnienie”  w  taki  sposób  że, 
człowiek mający problemy z ciśnieniem skurczowym lub rozkurczowym będzie przyjmował 
wartości 1, a człowiek nie mający nadciśnienia wartości 0.  
 

Łatwo  dorobić  nową  kolumnę  w  Excelu.  Aby  zrobić  to  samo  w  R  należy  wpisać  komendę 
(pierwsza komenda tworzy zmienną „nadciśnienie” złożoną z samych zer o długości równej 
ilości pacjentów w zbiorze data; następnie wykonuje się pętla for dla każdego z pacjentów i w 
przypadku nadciśnienia przypisuje danemu pacjentowi jedynkę): 

nadcisnienie=rep(0,dim(data)[1]) 

for (i in 1:dim(data)[1]) 

  if (data[i,1]>140 && data[i,2]>100) 

  nadcisnienie[i]=1 

background image

Albo w prostszy sposób (pierwsza komenda dodaje nową siódmą kolumnę do zbioru danych 
„data” złożoną z samych 0; druga komenda w przypadku nadciśnienia zamienia „0” na „1”): 

data=cbind(data,rep(0,200))  

data[data[,1]>140 & data[,2]>100,7]=1 

Regresja logistyczna – wprowadzenie 

a)  Często do czynienia mamy z obserwacjami, które można podzielić na dwie kategorie 

(np.  chory  lub  zdrowy).  Zmienne  zależne 

 

 

   

 

       

 

  mogą  być  wtedy 

interpretowane jako sukces lub porażka. Wówczas Zmienne 

 

 

   

 

       

 

 nazywane są 

zmiennymi binarnymi i przyjmuje się, że mają one rozkład Bernoulliego B(1,p

i

), gdzie 

p

i

 można interpretować jako prawdopodobieństwo sukcesu.  

b)  Model regresji logistycznej: 

   

 

     

   

 

   

 

 

 

   

 

 

 

       

 

 

 

  

gdzie 

 

 

   

 

       

 

  są  zmiennymi  objaśniającymi,  natomiast 

 

 

   

 

   

 

       

 

  są 

parametrami modelu. 
Zachodzi również związek: 

   

      

 

   

 

 

 

   

 

 

 

       

 

 

 

 

          

 

    

 

 

 

   

 

 

 

       

 

 

 

 

  

 

Zadanie 9. Utworzyć model regresji logistycznej dla zmiennej „nadciśnienie” i sprawdzić czy 
bardziej prawdopodobne jest że nadciśnienie ma kobieta nadużywająca alkoholu i papierosów 
czy mężczyzna nadużywający obydwu używek.  
 

Model regresji logistycznej w R wywołuje się przy pomocy komendy 

glm(nadcisnienie~data[,3]+data[,4]+data[,5]) 

lub jeżeli utworzyliśmy siódmą kolumnę w zadaniu 8 to używamy komendy 

glm(data[,7]~data[,3]+data[,4]+data[,5]) 

Uzyskane wyniki: 

Call:  glm(formula = nadcisnienie ~ data[, 3] + data[, 4] + data[, 5])  

Coefficients: 

(Intercept)    data[, 3]    data[, 4]    data[, 5]   

    0.12764     -0.07858      0.27527      0.50563   

Degrees of Freedom: 199 Total (i.e. Null);  196 Residual 

Null Deviance:      48.38  

background image

Residual Deviance: 28.14        AIC: 185.3 

Korzystamy ze wzoru: 

 

   

      

 

   

 

 

 

   

 

 

 

       

 

 

 

 

          

 

    

 

 

 

   

 

 

 

       

 

 

 

 

  

Dla mężczyzn mamy: 

   

                                                          

                                                              

            

Dla kobiet mamy: 

   

                                                          

                                                              

            

Czyli większe szanse na nadciśnienie mają kobiety.