Temat zajęć: ANALIZA DANYCH ZBIORU “EKSPORT”
Część I: analiza regresji
Krok 1. Pod adresem http://zsi.tech.us.edu.pl/~nowak/adb/eksport.txt znajdziesz zbiór danych do analizy.
Zapisz plik na dysku w dowolnej lokalizacji.
Krok 2. Uruchom narzędzie R
Krok 3. Wywołaj komendę, która pozwoli Ci wskazad plik z danymi do analizy
> dane=read.table(file.choose(),header=T) Krok 4. Wskaż miejsce w którym zapisałaś (eś) plik „eksport.txt”
Krok 5. By sprawdzid, że dane się poprawnie wczytały, wyświetl je na ekranie stosując komendę:
> dane
Jeśli wszystko będzie w porządku zobaczysz następujący wykaz danych:
czas USD DEM EUR wskaznik_cen bezrobocie import eksport 1 1 353.16 194.61 384.32 103.20 10.7 11219.1 7623.8 2 2 353.86 195.05 385.03 104.95 10.6 12980.7 8418.2
…..
44 44 424.59 195.34 382.05 132.86 16.2 16840.4 12320.4 45 45 421.85 196.59 384.50 133.26 16.3 17578.3 13521.3
Krok 6. By zbudowad model regresji liniowej stosujemy funkcję lm pakietu R. Zbuduje modele regresji, w których zmienną objaśnianą będzie zawsze „eksport” a zmieniad będziemy zmienne objaśniające:
a. Wskaźnik_cen b. Import c. Bezrobocie
d. Wskaźnik_cen + bezrobocie e. Wskaźnik_cen + import f. Bezrobocie + import
g. Wskaźnik_cen + import + bezrobocie
Przypominam tylko, że komenda, która stworzy model regresji liniowej gdzie zmienną objaśnianą będzie eksport a objaśniającą wskaźnik_cen a dane (parametr data) pobierzemy ze zbioru o nazwie „dane”
wygląda następująco:
model<-lm(eksport~wskaznik_cen,data=dane) Zaś wywołanie modelu, by zobaczyd jego parametry komendą:
summary(model)
Wówczas na ekranie pojawia się wykaz podobny do poniższego:
Call:
lm(formula = eksport ~ wskaznik_cen, data = dane) Residuals:
Min 1Q Median 3Q Max -1542.41 -433.41 36.06 374.65 1374.58 Coefficients:
Estimate Std. Error t value Pr(>|t|) (Intercept) -9738.4 1276.5 -7.629 1.6e-09 ***
wskaznik_cen 166.7 10.7 15.585 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 719.3 on 43 degrees of freedom
Multiple R-squared: 0.8496, Adjusted R-squared: 0.8461 F-statistic: 242.9 on 1 and 43 DF, p-value: < 2.2e-16
Krok 7. Zbadajmy, czy modele przez nas zbudowane cechują się współliniowością. Przypominam, że funkcja vif dostępna jest przy użyciu biblioteki car, a więc najpierw należy załadowad ową bibliotekę za pomocą komendy:
> library(car)
Krok 7a. VIF dla modelu, w którym zmienne objaśniające są 3: import, bezrobocie oraz wskaznik_cen wywołamy następująco:
> vif(lm(eksport~import+wskaznik_cen+bezrobocie,data=dane))
Pamiętajmy, że jeśli VIF dla jakiejś zmiennej wynosi więcej niż 10 to dopiero wówczas mówimy o współliniowośd, która może wpływad na równanie regresji i zaburzad wyniki predykcji.
Zadanie: Sprawdź, który z modeli (o ile w ogóle) wprowadza współliniowośd.
Krok 8. Zbadajmy działanie naszego zbudowanego modelu regresji, np. tego w którym eksport przewidywaliśmy na podstawie wartości wskaźnika bezrobocia. Sprawdź jaka będzie przewidywana wartośd eksportu, gdy wartośd bezrobocia wyniesie 10.70 przy 90 a potem 95% poziomu ufności. W oryginalnym zbiorze wartości istnieje wartośd 10.70 dla bezrobocia. Porównaj wartości: rzeczywistą i przewidywaną przez model. Czy jest różnica, i czy jest ona duża czy niewielka ? Sprawdź też wartośd przewidywaną eksportu np. gdy bezrobocie wyniesie 10.
Przypominam, że komenda wywołania funkcji PREDICT w pakiecie R wygląda następująco:
> predict(model,data.frame(bezrobocie=10.70), level = 0.9, interval = "confidence")
Krok 9. Analiza danych (predykcja) w narzędziu Rattle. Uruchom R i załaduj bibliotekę Rattle wprowadzając komendy:
> library(rattle)
> rattle()
Krok 10. Kiedy już narzędzie się uruchomi (jeśli nie poproś o pomoc – pomogę), wczytaj zbiór eksport.txt odpowiednio ustawiając zmienne: objaśniane i objaśniające, pomijając również te nieistotne w analizie. Kliknij przycisk „Wykonaj”, jak na rysunku poniżej (użyj tylko zmiennych wskaźnik_cen, import, bezrobocie – w rożnych konfiguracjach jako objaśniające, a resztę ignoruj).
Krok 11: Przejdź do zakładki “predictive” i wybierz odpowiednie opcje jak na rysunku poniżej:
Krok 12: Odczytaj z okna programu odpowiednie dane dotyczące zbudowanego modelu regresji:
Równanie regresji oraz współczynnik determinacji.
Krok 13: Przy okazji porównaj czy równanie regresji w R i Rattle dla danego modelu są identyczne.
Krok 14: Znając wartośd współczynnika determinacji R2 dla każdego modelu, wybierz model najlepiej opisujący eksport. Który to model ?
Część II: Drzewa decyzyjne w Rattle
Zakładając, że wciąż masz załadowany zbiór eksport.txt przejdź do zakładki Model albo predictive (w zależności od wersji narzędzia Rattle) i wybierz odpowiednią opcję jak na rysunku poniżej:
Pojawi się podmenu do pokazania drzewa:
Zobacz zatem jak zbuduje się drzewo dla wybranego przez Ciebie modelu.
Jak zapiszesz (odczytasz) reguły stworzone przez to drzewo ? Jak klasyfikuje eksport drzewo a jak klasyfikował zbudowany model regresji ?
Tree as rules:
Rule number: 7 [yval=12232.8071428571 cover=14 (31%)]
import>=1.561e+04 wskaznik_cen>=126.6
Rule number: 5 [yval=8609.34166666667 cover=12 (27%)]
import< 1.561e+04 import>=1.347e+04
Rule number: 6 [yval=10618.6818181818 cover=11 (24%)]
import>=1.561e+04 wskaznik_cen< 126.6
Rule number: 4 [yval=7809.125 cover=8 (18%)]
import< 1.561e+04 import< 1.347e+04
Część III: Drzewa decyzyjne w Traceis
1. Pod linkiem http://zsi.tech.us.edu.pl/~nowak/adb/Traceis.zip jest darmowe narzędzie do analizy danych.
Sciągnij plik programu (ale najpierw sprawdź, bo byd może jest już zainstalowany w pracowni). Uruchom narzędzie.
2. Wczytaj zbiór „eksport.txt”
3. W menu z lewej strony przejdź do części „implementation” i wybierz „Grouping”.
4. Przejdź do zakładki „Decision Trees” i wybierz odpowiednio zmienne objaśniające i objaśnianą:
5. W prawym oknie powinno się pokazad zbudowane drzewo dla opcji „minimum node size=5”. Przyjrzyj się drzewu. Sprawdź też co się zmieni jak ów parametr większych do wartości 10 i 15. Podaj interpretację takiego przypadku. Jakie zmiany zauważasz ?
6. Dla przypadku gdy minimum node size = 5, i klikając na drzewie decyzyjnym w węzeł dla wskaźnika cen >122 obserwuj histogramy dla poszczególnym zmiennych i odopowiedz na pytania:
I Jakie są wartości bezrobocia i importu wówczas, i w jakim czasie to zostało zaobserwowane ? Jaka jest wówczas średnia wartośd eksportu ?