lab9
This commit is contained in:
parent
b67c4e6ecf
commit
d1df50a039
@ -544,7 +544,7 @@ Wykonując później test ANOVA - analiza wariancji możemy zobaczyć czy porów
|
||||
Zagadnienia:
|
||||
- regresja liniowa
|
||||
|
||||
- wykład 9 na stronie - pierwsza część
|
||||
- wykład 9 na stronie - początek
|
||||
|
||||
|
||||
### R
|
||||
@ -636,14 +636,77 @@ Założenia analizy regresji:
|
||||
---
|
||||
## LAB 9
|
||||
Zagadnienia:
|
||||
-
|
||||
- regresja wielokrotna i krokowa
|
||||
|
||||
- wykład 9 na stronie środek
|
||||
|
||||
|
||||
### R
|
||||
```r
|
||||
# regresja wielokrotna
|
||||
pairs(auto_wna_sel)
|
||||
model_1 <- lm(price ~ horsepower + city.mpg + peak.rpm + curb.weight + num.of.doors, data = auto_wna)
|
||||
coef(model_1)
|
||||
confint(model_1)
|
||||
summary(model_1)
|
||||
fitted(model_1)
|
||||
residuals(model_1)
|
||||
|
||||
# regresja krokowa w tył (jeden krok)
|
||||
step(model_1) # AIC
|
||||
step(model_1, k = log(nrow(auto_wna))) # BIC
|
||||
|
||||
# regresja krokowa w przód (jeden krok)
|
||||
model_0 <- lm(price ~ 1, data = auto_wna)
|
||||
step(model_0, direction = "forward", scope = formula(model_1))
|
||||
|
||||
# predykcja
|
||||
new_data <- data.frame(curb.weight = 2823, horsepower = 154)
|
||||
model_2 <- lm(price ~ curb.weight + horsepower, data = auto_wna)
|
||||
stats::predict(model_2, new_data, interval = "prediction")
|
||||
summary(model_2)$adj.r.squared
|
||||
```
|
||||
|
||||
|
||||
### Zagadnienia
|
||||
- Regresja wielokrotna - z regresją wielokrotną (wieloraką) mamy do czynienia, jeśli zmianna zależna Y związana jest z większą ilością zmiennych niezależnych.
|
||||
- Na stronie są wzory z dopasowaniem, pedykcją, odrzuceniem wyrazu wolnego i estymatorami - analogicznie jak do regresji liniowej.<br/>
|
||||
|
||||
![wielokrotna](lab9/wielokrotna.png)
|
||||
|
||||
- Regresja krokowa - regresja krokowa jest odmianą analizy regresji (nie tylko regresji liniowej), w której do modelu wprowadzane są jedynie istotne statystycznie zmienne, predyktory, które rzeczywiście „poprawiają” zbudowany model. Możemy odrzucić lub dodać zmienną w każdym kroku.
|
||||
- Jeśli zaczynamy od stałej i dodajemy zmienne to jest to regresja w przód.
|
||||
|
||||
- Możemy też zacząć od wszyskich zmiennych i odejmować - regresja w tył.
|
||||
|
||||
- Decydujemy o dodaniu / sprawdzamy co się stanie jak odejmiemy - za pomocą kryterium np test istotności AIC, BIC<br/><br/>
|
||||
|
||||
- AIC - kryterium wyboru pomiędzy modelami statystycznymi o różnej liczbie predyktorów.<br/>
|
||||
![aic](lab9/aic.png)
|
||||
|
||||
- BIC - w modelowaniu równań strukturalnych jest to jeden ze wskaźników dopasowania modelu. Minimalizujemy wartość wskaźnika.
|
||||
- step z k=log to regresja krokowa BIC, k=2 to AIC
|
||||
|
||||
- L to zmaksymalizowana funkcja prawdopodobieństwa modelu M L=p(x|theta,M)
|
||||
|
||||
- n to liczba obserwacji
|
||||
|
||||
- k - liczba parametrów<br/>
|
||||
|
||||
![bic](lab9/bic.png)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
---
|
||||
## LAB 10
|
||||
Zagadnienia:
|
||||
-
|
||||
|
||||
|
||||
### R
|
||||
|
||||
|
||||
|
||||
### Zagadnienia
|
||||
|
BIN
podsumowanie/lab9/aic.png
Normal file
BIN
podsumowanie/lab9/aic.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
BIN
podsumowanie/lab9/bic.png
Normal file
BIN
podsumowanie/lab9/bic.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
BIN
podsumowanie/lab9/wielokrotna.png
Normal file
BIN
podsumowanie/lab9/wielokrotna.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 79 KiB |
37
testowe/pomocnicze.R
Normal file
37
testowe/pomocnicze.R
Normal file
@ -0,0 +1,37 @@
|
||||
rok <- 1995:2002
|
||||
liczba_przypadkow <- c(39.7, 38.2, 34.7, 33.1, 30.1, 28.4, 26.3, 24.7)
|
||||
data_set <- data.frame(rok = rok, liczba_przypadkow = liczba_przypadkow)
|
||||
plot(data_set, main = "Wykres rozrzutu", pch = 16)
|
||||
|
||||
model <- lm(liczba_przypadkow ~ rok, data = data_set)
|
||||
model$coefficients
|
||||
plot(data_set, main = "Wykres rozrzutu", pch = 16)
|
||||
abline(model, col = "red", lwd = 2)
|
||||
coef(model)
|
||||
confint(model)
|
||||
|
||||
summary(model)
|
||||
|
||||
fitted(model)
|
||||
residuals(model)
|
||||
|
||||
temp_rok <- data.frame(rok = seq(min(data_set$rok) - 10,
|
||||
max(data_set$rok) + 10,
|
||||
length = 100))
|
||||
pred <- stats::predict(model, temp_rok, interval = "prediction")
|
||||
plot(data_set, main = "Wykres rozrzutu", pch = 16)
|
||||
abline(model, col = "red", lwd = 2)
|
||||
lines(temp_rok$rok, pred[, 2], lty = 2, col = "red")
|
||||
lines(temp_rok$rok, pred[, 3], lty = 2, col = "red")
|
||||
|
||||
|
||||
new_rok <- data.frame(rok = 2003:2007)
|
||||
(pred_2003_2007 <- stats::predict(model, new_rok, interval = 'prediction'))
|
||||
plot(data_set, main = "Wykres rozrzutu z predykcją na lata 2003-2007", pch = 16,
|
||||
xlim = c(1995, 2007), ylim = c(10, 40))
|
||||
abline(model, col = "red", lwd = 2)
|
||||
points(2003:2007, pred_2003_2007[, 1], col = "blue", pch = 16)
|
||||
temp_rok <- data.frame(rok = seq(1994, 2008, length = 100))
|
||||
pred <- stats::predict(model, temp_rok, interval = "prediction")
|
||||
lines(temp_rok$rok, pred[, 2], lty = 2, col = "red")
|
||||
lines(temp_rok$rok, pred[, 3], lty = 2, col = "red")
|
Loading…
Reference in New Issue
Block a user