Afsnit 6.5: Two sample tests i python

I alle eksemplerne ovenfor omkring to normalfordelte observationssæt er de forskellige tests lavet ved at bruge python som en lommeregner. I python laves disse test med funktionen ttestind fra scipy.stats-modulet. Denne funktion laver imidlertid ikke det tilhørende konfidensinterval, og jeg har derfor selv kodet en funktion ttest2, som også er navnet på den tilsvarende funktion i MATLAB. Funktionen ligger i pytFunktioner.py omtalt i afsnit 1.6.

6.5.1 Two samples: Teste varianser ens

I Statistisk Model 6.1.1 med to normalfordelte observationssæt kan man lave -testet for hypotesen om ens varianser i MATLAB med funktionen vartest2. Python har ikke en tilsvarende funktion og jeg har derfor selv kodet en funktion med det samme navn. Funktionen ligger i pytFunktioner.py. Hvis data ligger i to vektorer x og y bliver kaldet
De forskellige dele af output er som følger:
Det 95%-konfidensinterval, der angives i output, er for forholdet mellem de to variansparametre (dette konfidensinterval har jeg ikke omtalt ovenfor). Gå nu tilbage til Eksempel 6.4.3, og find de beregnede værdier der i output fra et kald af vartest2.

6.5.1 Teste to varianser ens

Se opstartskoden (til/fra)

MATLAB-kode

Vi aflæser i output at -tesstørrelsen er 0.375 og -værdien er 0.075. Hvilken -fordeling bruges til beregningen af -værdien?

Svar: Aflæsning

I output fra vartest2 aflæses, at der er 13 frihedsgrader i tæller og 19 frihedsgrader i nævner. Den anvendte fordeling er derfor en -fordeling.

6.5.2 Two samples: Teste middelværdier ens

For at teste at middelværdierne er ens i to normalfordelinger, skal man enten bruge -testet, hvis de to varianser er ens, eller også bruge Welchs test, hvis de to varianser ikke er ens. Begge de to tests udregnes med funktionen ttest2. Hvis data ligger i to vektorer x1 og x2, bliver kaldet i tilfældet, hvor varianserne antages ens:
Hvis de to varianser antages forskellige skal man ændre True til False, henholdsvis ændre 'equal' til 'unequal'. De forskellige dele af output er som følger:
Nedre og øvre grænse er for et 95%-konfidensinterval for forskel i middelværdi mellem gruppe 1 og gruppe2, det vil sige for parameteren Gå nu tilbage til Eksempel 6.2.2 og Eksempel 6.3.2 og gentag beregningerne ved hjælp af ttest2.

6.5.2 Teste to middelværdier ens

Først laver vi beregningerne hørende til Eksempel 6.2.2.

Se opstartskoden (til/fra)

MATLAB-kode

Vi aflæser her -teststørrelsen til -værdien fra en -fordeling er , og et 95%-konfidensinterval for forskel i middelværdi er
Vi betragter dernæst beregningerne hørende til Eksempel 6.3.2.

MATLAB-kode

Vi aflæser her -teststørrelsen til -værdien fra en -fordeling er , og et 95%-konfidensinterval for forskel i middelværdi er

6.5.3 Eksempel: log-data

I eksempel 6.2.2 så vi, at mængden af ekstraheret cell free DNA var næsten dobbelt så stor ved Triton-metoden som ved Qiagen-metoden. Den empiriske spredning ved Triton-metoden er også noget højere end den empiriske spredning ved Qiagen-metoden, selvom et formelt test for hypotesen om ens varianser vil give en -værdi over 0.05. At middelværdi og spredning "følges ad" er ikke helt atypisk, når data vedrører en positiv størrelse (her mængde). I sådanne situationer vil der ofte ske det, at hvis data logaritmetransformeres, vil der efterfølgende være større lighed mellem varianserne.
Lad os betegne logaritmen til mængden af ekstraheret CFDNA med henholdsvis og for den 'te prøve i de to grupper. Vi betragter Statistisk Model 6.1.1, her skrevet som
hvor er middelværdien af logaritmen til mængden. Man kan matematisk vise sammenhængen hvor er middelværdien af mængden. I kodevinduet nedenfor laves der qqplots for de logaritmetransformerede data, og disse giver ikke anledning til at forkaste modellen.
Først undersøges hypotesen om samme varians i de to grupper for de logaritmetransformerde værdier. Beregningen er vist i kodevinduet nedenfor: -teststørrelsen er 1.3427, og -værdien (to gange sandsynlighed for værdi større end 1.3427) fra en -fordeling er 0.54. Da -værdien er langt over 0.05, siger vi, at data ikke strider mod samme varians på logaritmeskalaen.
I kodevinduet laves der også et 95%-konfidensinterval for forskel i middelværdi mellem gruppe 1 og gruppe2, under antagelsen om samme varians. Konfidensintervallet er baseret på -fordelingen, og bliver Vi kan oversætte dette konfidensinterval til et konfidensinterval for forholdet mellem middelværdierne på den oprindelige skala.
Resultat 6.5.3. (Fra log til ikke-log)
Da vi har samme varians på logaritmeskalaen, giver sammenhængen at
Her står, at forholdet mellem middelværdierne på den oprindelige skala er exponentialfunktionen taget på differensen mellem middelværdierne på logaritmeskalaen. Et konfidensintervsal for forholdet fås derfor ved at tage eksponentialfunktionen på intervalendepunkterne for konfidensintervallet for
For data omkring mængden af CFDNA giver dette resultat 95%-konfidensintervallet Her står, at med 95% sikkerhed er middelværdien af mængden af CFDNA ved Qiagen-metoden mellem 41% og 56% af middelværdien ved brug af Triton-metoden.

Beregninger i python

Se opstartskoden (til/fra)

MATLAB-kode

ForegåendeNæste