Analiza regresji i drzewa decyzyjne dla zbioru [eksport.txt]

Transkrypt

Analiza regresji i drzewa decyzyjne dla zbioru [eksport.txt]
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
1
1 353.16
2
2 353.86
…..
44
44 424.59
45
45 421.85
DEM
EUR wskaznik_cen bezrobocie import eksport
194.61 384.32
103.20
10.7 11219.1 7623.8
195.05 385.03
104.95
10.6 12980.7 8418.2
195.34 382.05
196.59 384.50
132.86
133.26
16.2 16840.4 12320.4
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.
b.
c.
d.
e.
f.
g.
Wskaźnik_cen
Import
Bezrobocie
Wskaźnik_cen
Wskaźnik_cen
Bezrobocie +
Wskaźnik_cen
+ bezrobocie
+ import
import
+ 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
-1542.41 -433.41
Median
36.06
3Q
374.65
Max
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 ?