* Encoding: UTF-8. * Protože budeme provádět i simulaci (bootstrap), nastavíme si i iniciální hodnotu (seed) pro generátor náhodných čísel abychom dospěli k stejným výsledkům. SET RNG=MC SEED=123. SET RNG=MT MTINDEX=123. *Seřazení případů podle ID . SORT CASES id(A). * Nastavení missing values u kohorty. MISSING VALUES kohorta (0, 66). * Popis vzorku. FREQUENCIES VARIABLES=pohlavi kohorta /ORDER=ANALYSIS. CROSSTABS /TABLES=pohlavi BY kohorta /FORMAT=AVALUE TABLES /STATISTICS=CHISQ /CELLS=COUNT ROW COLUMN ASRESID /COUNT ROUND CELL. *Všimněte si, že ve vzorku je více žen než mužů a více mladších než starších žáků. MEANS TABLES=vekr BY kohorta /CELLS=MEAN COUNT STDDEV MIN MAX. * Výpočet celkových skórů a nastavení labelů. COMPUTE duv_rodice = MEAN.5(d01_99, d03_99, d05_99, d07_99, d09_99, d11_99). COMPUTE duv_pratele = MEAN.5(d02_99, d04_99, d06_99, d08_99, d10_99, d12_99). COMPUTE duv_rozdil = duv_rodice - duv_pratele. VARIABLE LABELS duv_rodice 'Důvěra v rodiče'. VARIABLE LABELS duv_pratele 'Důvěra v přátele'. VARIABLE LABELS duv_rozdil 'Rozdíl mezi důvěrou v přátele a rodiče (kladné skóry značí vyšší důvěru v rodiče)'. EXECUTE. * Předpoklad normality u párového t-testu se týká rozdílových skórů (v našem případě duv_rozdil), nikoli přímo duv_rodice či duv_pratele. GRAPH /HISTOGRAM(NORMAL)=duv_rozdil. EXAMINE VARIABLES=duv_rozdil /PLOT BOXPLOT HISTOGRAM NPPLOT /COMPARE GROUPS /STATISTICS DESCRIPTIVES /CINTERVAL 95 /MISSING LISTWISE /NOTOTAL. * Všimněte si, že rozložení je přibližně normální, jak nasvědčuje histogramy i q-q grafy ale testy normality (Kolmogorov-Smirnov, Shapiro-Wilk) by předpoklad normality zamítly při tradiční hladině alfa = 0,05, protože máme docela velký vzorek a docela velkou statistickou sílu (i zanedbatelné odchylky od normality budou statisticky významné). *Při pochybnostech ohledně normality (ale i když je nemáme) můžeme využít bootstrap. BOOTSTRAP /SAMPLING METHOD=SIMPLE /VARIABLES INPUT=duv_rodice duv_pratele /CRITERIA CILEVEL=95 CITYPE=BCA NSAMPLES=2000 /MISSING USERMISSING=EXCLUDE. T-TEST PAIRS=duv_rodice WITH duv_pratele (PAIRED) /CRITERIA=CI(.9500) /MISSING=ANALYSIS. * Jak vidíme, klasický odhad standarní chyby (a tedy i p-hodnoty a intervaly spolehlivosti) je přibližně stejný jako bootstrappingový, protože předpoklady párového t-testu byly přibližně dodrženy. * Čím větší je porušení předpokladů a čím menší máme vzorek, tím více se může asymptotický a bootstrapový odhad lišit * Pro názornost - důkaz toho, že párový t-test je statistiky totožný s jednovýběrovým testem (one-sample t-test) provedeným na rozdílových skórech. T-TEST /TESTVAL=0 /MISSING=ANALYSIS /VARIABLES=duv_rozdil /CRITERIA=CI(.95). * Nevzali jsme ale v úvahu efekt věku, resp. kohorty a pohlaví na důvěru vůči přátelům a rodičům. MEANS TABLES=duv_rodice duv_pratele BY kohorta BY pohlavi /CELLS=MEAN COUNT STDDEV. * Převedení na tzv. long formát k tvorbě grafů. VARSTOCASES /MAKE duvera from duv_rodice duv_pratele /* Z proměnných duv_rodice duv_pratele vytvoříme jeden sloupec (duvera) - jedinou proměnnou, jako bychom obě proměnné naskládali na sebe. /INDEX = osoba(2) /* Současně vytvoříme novou proměnnou osoba se dvěma úrovněmi, která indikuje, z jaké původní proměnné hodnoty proměnné duvera pocházejí . /KEEP = ALL. /*Všechny ostatní proměnné necháme tak, jak jsou. * Nastavíme patřičné labely. VARIABLE LABELS duvera "Skór důvěry". VALUE LABELS osoba 1 "Důvěra v rodiče" 2 "Důvěra v přátele". * Průměry (s 95% CI) skórů důvěry v přátele a rodiče podle pohlavía kohorty. GRAPH /LINE(MULTIPLE)=MEAN(duvera) BY osoba BY pohlavi /PANEL COLVAR=kohorta COLOP=CROSS /INTERVAL CI(95.0). * Pokuste se popsat, co vidíte v grafu. * Vypadá to, že dívky jsou obecně "důvěřivější" * U mladší kohorty je důvěra v rodiče vyšší a důvěra v přátele nižší u dívek i chlapců. Ale tento rozdíl je větší u chlapců. * U starší kohorty je v případě chlapců rozdíl mezi důvěrou v rodiče a přátele zanedbatelný. * Dívky ze starší kohorty důvěřují rodičům podobně jako chlapci, ale přátelům důvěřují více než chlapci. * U dívek to vypoadá při srovnání kohort, že se rozdíl mezi důvěrou v rodiče a přátele převrátil. * U chlapců to vypadá při srovnání kohort, že rozdíl mezi důvěrou v přátele a rodiče téměř vymizel * Transformace dat do původní podoby. CASESTOVARS /ID=id /INDEX = osoba. RENAME VARIABLES (duvera.1 = duv_rodice) (duvera.2=duv_pratele). VARIABLE LABELS duv_rodice 'Důvěra v rodiče'. VARIABLE LABELS duv_pratele 'Důvěra v přátele'. ******* Teď se zaměříme na vztah mezi manželským stavem rodičů a vzděláním otce *********. * Vytvoříme novou proměnnou, abychom se zaměřili pouze na manžely a rozvedené otce. RECODE stav_r99 (1 = Copy) (2 = Copy) (ELSE = -99) INTO stav_rodicu_new. VARIABLE LABELS stav_rodicu_new 'Stav rodičů (pouze manželé a rozvedení)'. VALUE LABELS stav_rodicu_new 1 "Manželé" 2 "Rozvedení". MISSING VALUES stav_rodicu_new (-99). EXECUTE. CROSSTABS /TABLES=vzdel_ot BY stav_rodicu_new /FORMAT=AVALUE TABLES /STATISTICS=CHISQ CC PHI /CELLS=COUNT EXPECTED ROW COLUMN ASRESID /COUNT ROUND CELL. *Vidíme, že očekávané četnosti v nětkerých buňkách jsou nízké, takže chi2 aproximace nemusí být vhodná. * Co s tím můžeme udělat? V SPSS máme v zásadě 3 možnosti: * 1. Použít fisherův exaktní test (Analyze - Descriptive statistics - Crosstabs - Exact - Exact) * Vhodný u menších vzorků v řádu desítek osob. * Je výpočetně náročný, zejména u větších vzorků se vůbec nemusíte dočkat výsledku, * 2. Použít simulaci Monte Carlo (Analyze - Descriptive statistics - Crosstabs - Exact - Monte Carlo). * Vhodné u větších vzorků v řádu stovek či více. * 3. Sloučite málo početné kategorie, pokud takové sloučení dává smysl. * Je ale vhodné reportovat, jaký dopad to mělo na výsledky (tj. srovnat s výsledky získanými bez sloučení kategoriií). * Protože máme poměrně početný vzorek, použijeme nejprve 2. možnost (simulaci Monte Carlo). CROSSTABS /TABLES=vzdel_ot BY stav_rodicu_new /FORMAT=AVALUE TABLES /STATISTICS=CHISQ CC PHI /CELLS=COUNT EXPECTED ROW COLUMN ASRESID /COUNT ROUND CELL /METHOD=MC CIN(95) SAMPLES(10000). *Jak je vidět, výsledky chi2 aproximace a simulace Monte Carlo jsou téměř totožné. *Můžeme také zkusit 3 možnost: sloučit kategorii Záklasní škola a Vyučen v jednu. RECODE vzdel_ot (1=2) (0=-99) (2 thru 6=Copy) INTO vzdelani_otec_new. VARIABLE LABELS vzdelani_otec_new 'Vzdělání otce (ZŠ a Vyučen sloučeny)'. VALUE LABELS vzdelani_otec_new 2 "ZŠ/Vyučen bez maturity" 3 "Vyučen s maturitou" 4 "Odborná středníškola" 5 "Gymnázium" 6 "Vysoká škola". MISSING VALUES vzdelani_otec_new (-99). EXECUTE. CROSSTABS /TABLES= vzdelani_otec_new BY stav_rodicu_new /FORMAT=AVALUE TABLES /STATISTICS=CHISQ CC PHI /CELLS=COUNT EXPECTED ROW COLUMN ASRESID /COUNT ROUND CELL. * Jak můžeme vidět, testová statistika a velikost účinku je nižší, protože největší rozdíl v podílu manželů a rozvedených byl předtím u otců se základní školou. * V této analýze jsme ale tuto kategorii sloučili s kategorií "vyučen bez maturity" * Proto bychom měli - rozhodneme-li se kategorie slučovat - reportovat to, jaký dopad to mělo na výsledky (porovnat s možností 1 nebo 2 bez sloučení kategorií).