dane = read.csv2("wzrost_dziecka.csv")
summary(dane)
attach(dane)
(n=length(dane[,1]))
X = cbind(rep(1, length(Ojciec)), Ojciec, Matka)
(XTX = t(X) %*% X)
(D=solve(XTX))
(a = D %*% t(X) %*% Dziecko)
#Błąd std. (odch std. reszt)
(blad = sqrt(sum((Dziecko - X %*% a)^2)/(n-3)))
#macierz wariancji i kowariancji estymatorów regresji
blad*D
#zatem:
(blad_ww = sqrt(D[1,1])*blad)
(blad_o = sqrt(D[2,2])*blad)
(blad_m = sqrt(D[3,3])*blad)
#czy reszty mają rozkład normalny?
shapiro.test(Dziecko - X %*% a)
#Test dla parametru przy wzroscie ojca (dla wyrazu wolnego analogicznie)
#H: a_1 = 0, K: a_1 <> 0
#stat. testowa
(t = a[2]/blad_o)
#p-wartość:
2*(1-pt(t, n-3))
#Wnioskowanie o regresji jako całości
(SST = var(Dziecko)*(n-1))
(SSR = sum((X %*% a - mean(Dziecko))^2))
(SSE = sum((Dziecko - X %*% a)^2))
#R^2
(R2 = 1-SSE/SST)
#skorygowany (adjusted) R^2 - mam trzy parametry w modelu
(R2a = 1 - (SSE/(n-3))/(SST/(n-1)))
#Test ANOVA
(StatF = (SSR/2)/(SSE/(n-3)))
#p-wartość
1-pf(StatF, 2, n-3)
reg5 = lm(Dziecko~Ojciec+Matka)
summary(reg5)
#ale czy reszty mają rozkład normalny?
shapiro.test(reg5$residuals)
detach(dane)