ANALIZA DANYCH W STATA 8.0 ZAJĘCIA 4. Rozpoczęcie. Stworzyć w katalogu C:/temp katalog stata_4. Ściągnąć z internetu ze strony http://akson.sgh.waw.pl/~mproch plik anova.xls (kryje się on pod tekstem Zajęcia 4 plik / ) 3. Zapisać ten plik w katalogu C:/temp/stata_4 4. Otworzyć Statę 5. Zmienić katalog domyślny i rozpocząć logowanie następującymi poleceniami: cd C:/temp/stata_4 log using stata4a.log cmdlog using stata4b.log. Logowanie Przerywanie logowania: log off cmdlog off Wznawianie logowania: log on cmdlog on Zamykanie logowania: log close cmdlog close Dodawanie logowania wyników do istniejącego pliku: log using stata4a.log, append cmdlog using stata4b.log, append 3. Etykiety input str0 imie plec. Mariusz 0. Kota 3. Piotr 0 4. end
Etykiety mogą być przyporządkowane całej bazie danych, zmiennym lub wartościom poszczególnych zmiennych label data Baza danych o osobach label variable imie Imie osoby label variable plec Plec danej osoby label define przypisanie_plci 0 mezczyzna kobieta label values plec przypisanie_plci label list, nolabel decode plec, generate(plec_tekst) encode plec_tekst, generate(plec) encode plec_tekst, generate(plec3) label(przypisanie_plci), nolabel label drop _all 4. Analiza wariancji w klasyfikacji pojedynczej Otworzyć plik anova.xls. Zamienić tu gdzie trzeba przecinki na kropki jako separator miejsc dziesiętnych (na szczęście nigdzie nie trzeba tego robić) i zapisać go w katalogu C:/temp/stata_4 jako plik tekstowy rozdzielony tabulacjami, dając nazwę anova.txt. insheet using anova.txt save anova.dta Analiza wariancji w klasyfikacji pojedynczej pozwala zbadać, czy kolor opakowania wpływa na wielkość sprzedaży napojów. Będzie tak, jeżeli nie będą równe średnie wielkości sprzedaży napojów w poszczególnych opakowaniach. W naszym przypadku mamy trzy podgrupy uzależnione od koloru opakowania (k=3, i =,,3). Założenia: (a) Zmienna sprzedaz w każdej podgrupie ma rozkład normalny N(µ i,σ i ) (b) Wariancje zmiennej sprzedaz we wszystkich podgrupach są takie same.
TEST BARTLETTA: Założenie (b) o równości wariancji bada się m. in. za pomocą testu Bartletta: H 0 : σ = σ = ; H : nieprawda, że σ = σ = σ 3 Jeżeli H 0 jest prawdziwa, to statystyka χ : σ 3 k ( ni ) Sˆ i k.303 i= χ = ( n k) log k n k i= + ( ) 3 k i= ni n k ( n ) i log Sˆ i ma rozkład chi-kwadrat z k stopni swobody. Wartość krytyczną i poziom istotności ustalamy ze wzoru: P ( χ χ kryt ) = α gdzie α to poziom istotności. Jeżeli: χ > χ H 0 odrzucamy analiza wariancji nie powinna być stosowana, bo nie jest obl. kryt. spełnione założenie o równości wariancji w podgrupach χ < χ nie ma podstaw do odrzucenia H 0 analiza wariancji może być stosowana, bo obl. kryt. jest spełnione założenie o równości wariancji w podgrupach ANALIZA WARIANCJI W KLASYFIKACJI POJEDYNCZEJ: Weryfikujemy następujące hipotezy: H 0 : µ = µ = µ 3 ; H : nieprawda, że µ = µ = µ 3 H 0 : średnie wielkości sprzedaży soków we wszystkich trzech podgrupach są jednakowe, tzn. kolor opakowania nie wpływa na wielkość sprzedaży H : średnie wielkości sprzedaży soków we wszystkich trzech podgrupach nie są jednakowe, tzn. kolor opakowania wpływa na wielkość sprzedaży Jeżeli H 0 prawdziwa, to statystyka F: F = k i= ( x x) k ni k k ( xij xi ) i= j= i n i n k = Zm Zw n k 3
ma rozkład F-Snedecora o k i n k stopni swobody Z czego się składa F? k i= ( x x) = i n i k ni ( xij xi ) = i= j= k ni ( xij x) = i= j= Zc = Zm + Zw Zmienność międzygrupowa (Zm) Zmienność wewnątrzgrupowa (Zw) Zmienność całkowita (Zc) H 0 prawdziwa (F obl. małe): Zm małe, Zw duże H prawdziwa (F obl. duże): Zm duże, Zw małe Wartość krytyczną i poziom istotności ustalamy ze wzoru: P ( F F kryt. ) = α gdzie α to poziom istotności. Jeżeli: F obl. > Fkryt. H 0 odrzucamy kolor opakowania ma wpływ na wielkość sprzedaży (średnie w podgrupach nie są równe) F obl. < Fkryt. nie ma podstaw do odrzucenia H 0 kolor opakowania nie ma wpływu na wielkość sprzedaży (średnie w podgrupach są równe) encode kolor, generate(kolor) drop kolor rename kolor kolor, nolabel help anova help oneway help loneway oneway sprzedaz kolor oneway sprzedaz kolor, tabulate loneway sprzedaz kolor anova sprzedaz kolor 4
W naszym przypadku uzyskujemy następujące wyniki: Dla testu Bartletta: χ obl. = 5.7895048958 Prob > chi = 0.055 A zatem przy poziomie istotności % lub 5% nie ma podstaw do odrzucenia hipotezy zerowej mówiącej, że wariancje w poszczególnych podgrupach są równe. Oznacza to, że jedno z założeń analizy wariancji w klasyfikacji pojedynczej jest prawdopodobnie spełnione. Dla testu na porównanie średnich (analiza wariancji w klasyfikacji pojedynczej): F obl. = 4.6806768907 Prob > F = 0.0000 A zatem przy poziomie istotności % lub 5% odrzucamy hipotezę zerową mówiącą, że średnie w poszczególnych podgrupach są równe. Oznacza to, że kolor opakowania wpływa na wielkość sprzedaży. 5. Format wyświetlania danych search display format Wybrać help format (a) Zmienne liczbowe Ogólna postać formatu wyświetlania zmiennej liczbowej: %-0a.bc gdzie: - gdy chcemy mieć wynik wyrównany do lewej 0 gdy chcemy mieć zero wiodące a liczba określająca ogólną długość wyświetlanej liczby b liczba określająca ilość cyfr po przecinku c jedna z liter (g, f lub e) określająca typ formatu liczbowego: g general, f fixed, e exponential Podkreślone symbole są niezbędne. Symbole nie podkreślone są opcjonalne. Przykłady formatów liczbowych: %-3.f %0.6f %9.g %9.e Przykład: input a..3456 5
. 000 3. 3.456789 4. end generate b = a generate c = a generate d = a generate e = a format b %-3.f format c %0.6f format d %9.g format e %9.e (b) Zmienne tekstowe Ogólna postać formatu wyświetlania zmiennej tekstowej: %-as gdzie: - gdy chcemy mieć wynik wyrównany do lewej a liczba określająca ogólną długość wyświetlanego tekstu s litera s określająca typ formatu tekstowego (s string) Podkreślone symbole są niezbędne. Symbole nie podkreślone są opcjonalne. Przykłady formatów liczbowych: %-4s %0s Przykład: input str0 a. abc. stalowa wola 3. end generate str0 b = a generate str0 c = a format b %-4s format c %0s (c) Daty Zmienne wyświetlane jako daty muszą być liczbami całkowitymi (typy: byte, int i long). Kodowanie dat w programie Stata jest następujące: 6
help dfmt Liczba całkowita Data odpowiadająca danej liczbie całkowitej 679350 stycznia 00 r. 3 grudnia 959 r. 0 stycznia 960 r. stycznia 960 r. 3 stycznia 960 r. 936549 3 grudnia 9999 r. Ogólna postać formatu wyświetlania zmiennej będącej datą: %-d### gdzie: - gdy chcemy mieć wynik wyrównany do lewej d litera d określająca typ formatu jako datę (d date) ### ciąg znaków (liter, cyfr i symboli) określający szczegółowo format wyświetlania daty (zob. help dfmt), długość ### jest ograniczona, nie można stosować wymyślnie skomplikowanych formatów Podkreślone symbole są niezbędne. Symbole nie podkreślone są opcjonalne. Przykłady formatów daty: %d (format domyślny równoważny formatowi %ddlcy) %dcy_!r,d-m %dd/m_cy Przykład: input a.. 3. 0 4. 5. 6. 3 7. 3000 8. 0000 9. end generate b = a generate c = a format b %dcy_!r,d-m format c %dd/m_cy format a %d 7
(d) Szeregi czasowe Zmienna będąca szeregiem czasowym jest trochę podobna do zmiennej będącej datą. Zmienne wyświetlane jako szeregi czasowe muszą być liczbami całkowitymi (typy: byte, int i long). help tfmt Ogólna postać formatu wyświetlania zmiennej będącej szeregiem czasowym: %-ta### gdzie: - gdy chcemy mieć wynik wyrównany do lewej t litera t określająca typ formatu jako szereg czasowy (t time series) a litera d, w, m, q, h lub y określająca typ szeregu czasowego: d dane dzienne (daily) w dane tygodniowe (weekly) m dane miesięczne (monthly) q dane kwartalne (quarterly) h dane półroczne (half-yearly) y dane roczne (yearly) ### podobnie jak w przypadku dat, jest to ciąg znaków (liter, cyfr i symboli) określający szczegółowo format wyświetlania szeregu czasowego (zob. help tfmt), długość ### jest ograniczona, nie można stosować wymyślnie skomplikowanych formatów Podkreślone symbole są niezbędne. Symbole nie podkreślone są opcjonalne. Kodowanie szeregów czasowych w programie Stata zależy od typu szeregu czasowego. Wartość liczbowa Odpowiadający danej liczbie całkowitej punkt czasowy w zależności od formatu szeregu czasowego zmiennej całkowitej %td %tw %tm %tq %th 30 grudnia 959 r. 5 tydzień 959 r. listopad 959 r. III kwartał 959 r. I połowa 959 r. 3 grudnia 959 r. 5 (ostatni) tydzień 959 r. grudzień 959 r. IV kwartał 959 r. II połowa 959 r. 0 stycznia 960 r. tydzień 960 r. styczeń 960 r. I kwartał 960 r. I połowa 960 r. stycznia 960 r. tydzień 960 r. luty 960 r. II kwartał 960 r. II połowa 960 r. 3 stycznia 960 r. 3 tydzień 960 r. marzec 960 r. III kwartał 960 r. I połowa 96 r. 3 4 stycznia 960 r. 4 tydzień 960 r. luty 96 r. II kwartał 963 r. II połowa 966 r. 8
Wyjątek stanowi szereg czasowy roczny (typ %ty). Dla takich szeregów kodowanie jest następujące: Wartość liczbowa zmiennej całkowitej Odpowiadający danej liczbie całkowitej punkt czasowy dla formatu %ty (dane roczne) %ty -. (missing value) 0. (missing value). (missing value) 980 Rok 980 98 Rok 98 00 Rok 00 Roczny szereg czasowy (zmienna o formacie wyświetlania %ty) może przyjmować wartości między 00 a 9999. Szereg czasowy o formacie %td jest praktycznie tym samym, co zmienna daty o formacie %d. Przykłady formatów szeregów czasowych: %td (format domyślny równoważny formatowi %tddlcy) %tw (format domyślny równoważny formatowi %twcy!ww) %tm (format domyślny równoważny formatowi %tmcy!mn) %tq (format domyślny równoważny formatowi %tqcy!qq) %th (format domyślny równoważny formatowi %thcy!hh) %ty (format domyślny równoważny formatowi %tycy) %tmdmcy %tq!k_q,_cy Przykład: input a.. 3. 0 4. 5. 6. 3 7. 4 8. 5 9. 00 0. 0000. 000. 000 3. 0003 4. end 9
generate b = a generate c = a generate d = a generate e = a generate f = a generate g = a format b %td format c %tw format d %tm format e %tq format f %th format g %ty format d %tmdmcy format e %tq!k_q,_cy 6. Tworzenie szeregów czasowych w bazie danych Procedura tworzenia szeregów czasowych jest następująca: (a) Utworzyć zmienną liczbową zawierającą liczby całkowite (b) Zmienić format wyświetlania na szereg czasowy (jeden z formatów %t) (c) Ustanowić zmienną o formacie wyświetlania %t... jako szereg czasowy za pomocą polecenia tsset input rok pkb. 99 00. 99 0 3. 993 0 4. 994 30 5. 995 40 6. 997 60 7. 998 70 8. end format rok %ty tsset rok tsset 7. Zmienne opóźnione, wyprzedzające i będące różnicami Zmienne opóźnione: L.zmienna zmienna t L.zmienna zmienna t 0
LL.zmienna zmienna t L3.zmienna zmienna t 3 LL.zmienna zmienna t 3 Zmienne wyprzedzające: F.zmienna zmienna t+ F.zmienna zmienna t+ F3.zmienna zmienna t+3 Zmienne będące różnicami: D.zmienna zmienna t zmienna t D.zmienna (zmienna t zmienna t ) (zmienna t zmienna t ) Zmienne będące różnicami sezonowymi: S.zmienna zmienna t zmienna t S.zmienna zmienna t zmienna t S.zmienna zmienna t zmienna t rok pkb L.pkb F.pkb D.pkb S.pkb rok pkb S.pkb rok pkb LLL.pkb FL.pkb Wszystkie te przyrosty można łączyć, np.: rok pkb LS4.pkb rok pkb F3L4S.pkb W katalogu C:/temp/stata_4 powinno być 5 plików: stata4a.log i stata4b.log zawierające wpisane komendy oraz wyniki dotychczasowej pracy anova.xls, anova.txt oraz anova.dta