Multinomial prosesseringstrær (MPT) har blitt en viktig verktøy i kognitiv vitenskap, spesielt når det gjelder modellering av kategoriske svar i psykologiske eksperimenter. Dette er modeller som antar at observasjonene kan forklares gjennom en rekke latente hendelser som inntreffer med bestemte sannsynligheter. I denne sammenhengen er MPT-modeller et utmerket valg for å modellere situasjoner hvor svarene fra deltakerne kan kategoriseres på flere måter, og hvor det er viktig å forstå de underliggende prosessene som styrer disse valgene.

Et grunnleggende mål i modelleringen av MPT er å vurdere hvor godt en modell representerer virkelige data. Dette kan gjøres ved å sammenligne simulerte data med observerte data, og ved å bruke posterior prediktive sjekker for å verifisere at modellen er godt kalibrert. Når alt er riktig definert i modellen, bør vi kunne generere data som ser ut som de simulerte dataene, noe som kan bekreftes ved hjelp av plott som viser fordelingen av svarene, for eksempel figur 16.5, hvor feilbåndene representerer 90 % av sannsynlighetsmassene i den prediktive distribusjonen.

I en velkalibrert modell bør de observerte dataene være innenfor feilbåndene i omtrent 90 % av tilfellene. Dette kan illustreres ved hjelp av funksjoner som ppc_bars() og ppc_bars_grouped() i R, som lar oss visualisere både den aggregerte modellen og individuelle deltakeres svarfordelinger. Slike visualiseringer er avgjørende for å forstå hvordan modellen presterer på individnivå, spesielt når vi jobber med hierarkiske modeller.

Hierarkiske MPT-modeller er et skritt videre i denne prosessen. Ved å modellere individuelle variasjoner på tvers av deltakerne gir hierarkiske modeller en mer nøyaktig fremstilling av hvordan forskjellige deltakere kan ha ulike sannsynligheter for å svare på forskjellige måter, basert på deres personlige egenskaper eller tidligere erfaringer. Når vi sammenligner en hierarkisk modell med en ikke-hierarkisk MPT-modell, ser vi at den hierarkiske modellen ofte gir bedre resultater, både for aggregert data og for individuelle deltakere, som vist i figur 16.8. Dette skyldes at den hierarkiske modellen tar hensyn til gruppenivå variasjoner, noe som gjør at den kan tilpasse seg bedre til de individuelle forskjellene i dataene.

I kontrast, den ikke-hierarkiske modellen antar at alle deltakere deler de samme parametrene, noe som kan føre til dårligere tilpasning på individnivå. Dette er spesielt tydelig i figurene som viser individuelle deltakeres resultater i den ikke-hierarkiske modellen, hvor feilbåndene for prediksjonene ikke omfatter de observerte svarene for mange av deltakerne.

En annen viktig forskjell mellom de to modellene er hvordan de håndterer usikkerhet. I en hierarkisk modell kan vi analysere usikkerheten på både gruppenivå og individnivå, noe som gir oss mer innsikt i hvordan ulike faktorer påvirker svarene. Dette er viktig fordi kognitive prosesser ofte er heterogene, og det er viktig å kunne fange opp variasjonen som finnes på tvers av deltakerne.

I tillegg til de teoretiske og praktiske fordelene ved hierarkiske MPT-modeller, er det også tekniske utfordringer knyttet til implementeringen. For eksempel er det nødvendig å definere riktige priors og å bruke riktig algoritme for sampling fra den posterioren. Denne prosessen kan være tidkrevende og krever en grundig forståelse av både den spesifikke modellen og de statistiske metodene som benyttes, som for eksempel Markov Chain Monte Carlo (MCMC).

Det er viktig å merke seg at når man jobber med MPT-modeller, er det ikke alltid mulig å finne den "ekte" generative prosessen bak dataene. MPT-modellen er et statistisk rammeverk som hjelper oss med å forstå og modellere de observerte dataene, men den representerer ikke nødvendigvis de underliggende prosessene på en eksakt måte. Derfor er det avgjørende å bruke posterior prediktive sjekker for å vurdere modellens gyldighet og å sammenligne ulike modeller for å sikre at vi ikke bare overtilpasser dataene.

Videre er det viktig å forstå at MPT-modeller ikke nødvendigvis gir definitive svar på hvilke spesifikke kognitive prosesser som styrer observasjonene. De gir en mulighet til å teste hypoteser om kognitive mekanismer, men som med alle statistiske modeller er det viktig å bruke dem som et verktøy for å generere innsikt, heller enn å trekke endelige konklusjoner basert på modellens resultater alene.

Endelig er det verdt å merke seg at MPT-modeller har bred anvendelse i kognitiv vitenskap, både som frittstående modeller og som en del av større kognitive modeller. For eksempel kan de brukes til å modellere prosesser som hukommelsesgjenfinning i setningsbehandling, beslutningstaking i psykologiske eksperimenter, og til og med i studier av afasi, som vist i eksemplene fra Walker et al. (2018).

Hvordan forstå trukne normalfordelinger og betingede fordelinger i statistikk?

Når vi arbeider med sannsynlighetsfordelinger, møter vi ulike typer funksjoner som gir oss mulighet til å modellere data på spesifikke måter. En av de mest grunnleggende er sannsynlighetsmassefunksjonen (PMF), som gir oss muligheten til å beregne sannsynligheten for at en diskret tilfeldig variabel inntar bestemte verdier. Et kjent eksempel på dette er den binomiske fordelingen, hvor PMF kobler mulige verdier til sannsynlighetene for at disse verdiene inntreffer.

For eksempel, ved å bruke den binomiske fordelingen, kan vi beregne sannsynligheten for å observere nøyaktig to suksesser når vi trekker fra en Binomial(𝑛 = 10, 𝜃 = 0.5)-fordeling. Dette kan gjøres enten ved hjelp av funksjonen dbinom() eller pbinom(). Den første funksjonen beregner direkte sannsynligheten for et spesifikt antall suksesser, mens den andre beregner den kumulative sannsynligheten og deretter trekker fra sannsynligheten for ett mindre antall suksesser. Begge metodene vil gi samme resultat.

Når det gjelder kontinuerlige fordelingstyper, er normalfordelingen et velkjent eksempel. En viktig egenskap ved normalfordelingen er at dens støtte (området hvor sannsynligheten er definert) går fra minus uendelig til pluss uendelig. Det er mulig å definere fordelinger med mer begrenset støtte, for eksempel en normalfordeling som er truncert til kun å tillate positive verdier. I slike tilfeller må vi justere normaliseringen av fordelingen slik at arealet under kurven forblir 1, noe som innebærer at vi må multiplisere dens tetthetsfunksjon med en faktor som justerer for den truncated støtten.

For den standard normalfordelingen, som er truncert ved 0, kan vi finne denne faktoren ved å beregne komplementet til den kumulative distribusjonen (CCDF). Dette kan gjøres i R med funksjonen pnorm() som returnerer sannsynligheten for at en normalfordelt variabel er større enn et spesifikt tall. Denne tilnærmingen er grunnleggende for statistiske modeller som involverer trukne normalfordelinger, og spesielt i bayesianske modeller hvor slike fordelinger kan oppstå.

Videre, når vi ser på multivariate fordelinger, utvider vi konseptet om normalfordelinger til situasjoner med mer enn én variabel. Bivariate og multivariate fordelinger gjør det mulig å modellere samspillet mellom flere variabler samtidig. Et eksempel på en diskret bivariant fordeling er en situasjon der vi samler data om en Likert-skala for akseptabilitet og korrektheten av svar på spørsmål i et eksperiment. For hver prøve i dette eksperimentet, er det to tilfeldige variabler: 𝑋 representerer Likert-skalaen (med verdier fra 1 til 7), og 𝑌 representerer om spørsmålet ble besvart korrekt eller ikke (0 for feil, 1 for riktig).

Bivariat sannsynlighet kan visualiseres som et felles sannsynlighetsmassfunksjon (PMF) for 𝑋 og 𝑌, hvor vi kan beregne både marginale og betingede fordelinger. Den marginale fordelingen for 𝑌, for eksempel, er definert som summen av sannsynlighetene for hvert 𝑦 over alle mulige verdier av 𝑥. Dette gir oss en ide om hvordan 𝑌 fordeler seg uavhengig av 𝑋. På samme måte kan vi beregne marginalfordelingen for 𝑋 ved å summere sannsynlighetene over alle mulige verdier av 𝑌. Dette gir oss et bilde av hvordan 𝑋 oppfører seg uavhengig av 𝑌.

Betingede sannsynligheter gir oss derimot informasjon om sannsynligheten for en variabel gitt en bestemt verdi for en annen variabel. Betingede fordelinger er fundamentalt for forståelsen av forholdet mellom variabler i dataene. For eksempel, når vi beregner den betingede sannsynligheten for 𝑋 gitt at 𝑌 = 1, ser vi på hvordan 𝑋 er fordelt innenfor de tilfellene hvor 𝑌 allerede er kjent. Denne tilnærmingen er viktig når vi prøver å forstå avhengigheten mellom to variabler.

Slike beregninger er ikke bare teoretiske; de er helt nødvendige i praktiske anvendelser som maskinlæring, hvor forståelsen av sammenhenger mellom variabler kan være avgjørende for modellutvikling og prediksjon.

Trukne normalfordelinger og betingede fordelinger er essensielle verktøy i statistikk, og det er viktig å forstå hvordan man beregner og tolker disse fordelingsfunksjonene. I de fleste praktiske scenarier er det ikke bare teoretisk interessant å vite hvordan fordelinger fungerer, men det er avgjørende å forstå hvordan man kan bruke disse verktøyene for å lage mer presise modeller og forutsi fremtidige utfall med høyere grad av sikkerhet.

Hvordan brms-modellen fungerer i Bayesian regresjon

Når man bruker brms til Bayesian regresjon, er det flere spesifikasjoner og innstillinger som skiller seg fra vanlige regresjonsmetoder som lm() i R. Selv om prinsippene bak modellene er like, er det viktig å forstå de grunnleggende forskjellene og hvordan man konfigurerer modellen for å oppnå pålitelige resultater.

For det første gjør brms det eksplisitt at den underliggende sannsynlighetsfordelingen er normal, ved å bruke family = gaussian(). Dette er en detalj som ikke nødvendigvis er synlig i lm()-funksjonen, hvor den normale fordelingen er antatt som standard. Andre koblingsfunksjoner kan også benyttes i brms, på samme måte som i funksjonen glm() i R, men for de fleste regresjonsmodeller er family = gaussian() standard.

En annen viktig funksjon i brms er spesifikasjonen av priorer. Ved å bruke prior-argumentet kan man sette opp ulike priorfordelinger for parameterne i modellen. Selv om det er mulig å la brms definere priorene automatisk, er det anbefalt å spesifisere dem eksplisitt. Dette er en kritisk komponent i Bayesian analyse, ettersom valg av prior kan påvirke resultatene betydelig. I tilfeller der visse parameterverdier er utenfor et realistisk område (for eksempel dersom et intercept er mindre enn 0 eller større enn 60 000), kan man sette nedre og øvre grenser ved hjelp av lb og ub for å sikre at parameterverdiene holder seg innenfor gyldige rammer.

Når modellen kjøres, er det flere parametere som styrer samplingprosessen. Begrepene chains, iter og warmup har stor betydning for hvordan den statistiske algoritmen fungerer. Standardinnstillingen i brms er at sampling utføres med fire uavhengige kjeder (chains), hver kjede gjennomgår 2000 iterasjoner (iter), og halvparten av iterasjonene (1000 iterasjoner) blir avsatt som "warmup" for å tillate algoritmen å konvergere til en stabil løsning. Disse innstillingene er viktig for å sikre at algoritmen finner de riktige posteriorfordelingene, og for å diagnostisere om modellen har konvergert til den sanne posterioren.

Samplingprosessen kan beskrives som at hver kjede starter fra et tilfeldig valgt punkt i parameterrommet og gjennomgår et antall iterasjoner for å finne prøver fra den posteriorfordelingen som best beskriver dataene. I løpet av iterasjonene er det normalt at prøvene fra de forskjellige kjedene kan være langt fra hverandre, men etter hvert som prosessen fortsetter, vil kjedene konvergere mot en felles distribusjon. Det er viktig å merke seg at selv om kjedene kan se ut til å konvergere visuelt, er det ikke alltid tilstrekkelig for å si at modellen har konvergert. Stan, som brms bygger på, utfører en rekke diagnostiske tester som kan indikere problemer med konvergens, og vil generelt advare brukeren dersom modellens konvergens er usikker.

En nyttig måte å sjekke konvergens på, er ved å bruke traceplots, som viser utviklingen av parameterprøvene over tid. Når kjedene har konvergert, bør de se ut som en "fet og hårete larve", der alle kjedene overlapper og ser ut til å være fra samme fordeling. Hvis modellens traceplots viser at kjedene ikke overlapper, kan det være et tegn på at modellen ikke har konvergert. Dette kan ofte oppdages visuelt, men det er også viktig å stole på de statistiske diagnostikkene som Stan gir.

Når modellen har konvergert og sampling er fullført, kan man bruke funksjoner som as_draws_df() for å hente ut prøvene fra posteriorfordelingene til de ulike parameterne. Dette gir et detaljert sammendrag av modellen, med informasjon om de estimerte parameterne og de tilhørende usikkerhetene. Brms gir også muligheten til å visualisere resultatene ved hjelp av forskjellige plot, som f.eks. densitetsplot og traceplots, som kan gi verdifull informasjon om kvaliteten på modellens konvergens.

Det er også viktig å forstå at standardinnstillingene i brms og Stan ofte er tilstrekkelige for de fleste modeller, men i noen tilfeller kan det være nødvendig å justere parametrene for å oppnå bedre konvergens eller mer presise estimater. For eksempel kan det være nødvendig å øke antallet kjeder eller iterasjoner for mer kompleks databehandling. I tillegg kan valg av riktig priorfordeling ha en stor innvirkning på modellens nøyaktighet, og det er derfor viktig å ha en god forståelse av hvordan priorene fungerer og hvordan de kan spesifiseres.

Ved å følge disse prinsippene, kan man bruke brms til å bygge og validere pålitelige Bayesian modeller som gir en bedre forståelse av dataene og de underliggende forholdene som modelleres.

Hvordan bruker man kontraster i lineær regresjonsanalyse?

Kontraster er et sentralt verktøy i statistikk, spesielt når man ønsker å sammenligne ulike betingelser i eksperimentelle design. I lineær regresjon blir kontraster brukt til å uttrykke forskjellene mellom forskjellige nivåer i en kategorisk variabel (faktor) ved å bruke numeriske prediktorer. Dette gir en måte å modellere forskjeller på, samtidig som det opprettholder fleksibiliteten som kreves for å estimere effektene på en lineær skala. Vi skal her undersøke hvordan man lager kontraster og bruker dem i en lineær regresjonsmodell, og hvordan disse kontrastene kan påvirke resultatene.

Kontraster kan defineres på ulike måter, og en av de vanligste metodene er å bruke såkalte hypotesekontraster. Disse kan spesifisere hvilke spesifikke forskjeller mellom betingelser som skal testes i en eksperimentell analyse. For eksempel, i et eksperiment med en faktor som har fire nivåer (𝐹 1, 𝐹 2, 𝐹 3, 𝐹 4), kan kontraster som sammenligner forskjellen mellom påfølgende betingelser være av interesse. I dette tilfellet kan vi bruke funksjonen contr.hypothesis() for å definere kontrastene, der vi estimerer forskjellen mellom betingelsene som følger:

  • F2F1F_2 - F_1

  • F3F2F_3 - F_2

  • F4F3F_4 - F_3

Resultatene fra en slik regresjon viser regresjonskoeffisientene som estimerer disse forskjellene, og gir et mål for hvordan hvert nivå påvirker den avhengige variabelen. For eksempel kan regresjonskoeffisienten for kontrasten Fc2vs1Fc2vs1 være omtrent 10, som gjenspeiler forskjellen mellom nivåene F2F_2 (20) og F1F_1 (10), altså 2010=1020 - 10 = 10.

En annen populær kontrast er Helmert-kontrasten, som har en litt annen tilnærming. I stedet for å sammenligne påfølgende nivåer, sammenligner Helmert-kontrasten nivåene med gjennomsnittet av tidligere nivåer. I en fire-nivåfaktor vil kontrastene i en Helmert-modell være som følger:

  • F1F2F_1 - F_2

  • F3F1+F22F_3 - \frac{F_1 + F_2}{2}

  • F4F1+F2+F33F_4 - \frac{F_1 + F_2 + F_3}{3}

Denne metoden kan kodes med funksjonen hypr(), og resultatene gir informasjon om forskjellene mellom nivåene på en måte som er mer intuitiv i sammenheng med Bayesianske tilnærminger. For eksempel kan den første estimerte koeffisienten Fb1Fb1 vise en forskjell på omtrent 10, som gjenspeiler forskjellen mellom nivåene F1F_1 og F2F_2, mens Fb2Fb2 kan reflektere forskjellen mellom F3F_3 og gjennomsnittet av F1F_1 og F2F_2.

Disse kontrastene kan også implementeres i lineær regresjon ved å bruke en designmatrise. Designmatrisen, som inneholder informasjon om alle prediktorer for hver datapunkt, kan genereres ved hjelp av funksjonen model.matrix(). Hver kolonne i designmatrisen representerer en prediktor (eller en kontrast), og det første kolonnen representerer skjæringspunktet (interceptet). Når kontrastene er implementert i modellen, kan man utføre regresjonsanalyse for å estimere effektene av de forskjellige nivåene i faktoren.

I regresjonsmodellen brukes kontraster på samme måte som kontinuerlige numeriske prediktorer. Dette betyr at kontrastene, som representerer forskjellene mellom nivåene, behandles som covariater i en multipel regresjonsanalyse. Denne tilnærmingen gir en enkel måte å modellere diskrete nivåer på en kontinuerlig skala, og gjør det mulig å teste hypoteser om forskjellene mellom betingelsene på en strukturert måte.

En annen fordel med kontraster i lineær regresjon er muligheten for å tilpasse priors i Bayesianske modeller. Når man bruker en tilpasset Helmert-kontrast, kan priors på forskjellene mellom betingelsene settes på en intuitiv måte, i motsetning til skalering av disse forskjellene som i den klassiske Helmert-kontrasten. Dette gjør at den posterior distribusjonen kan tolkes mer direkte og gir en klarere forståelse av de estimerte effektene.

Det er viktig å merke seg at valg av kontrastmetode kan ha innvirkning på hvordan resultatene tolkes. For eksempel vil en klassisk Helmert-kontrast gi en litt annen skala på estimatene sammenlignet med en tilpasset versjon. Mens klassiske kontraster ofte bruker skalering for å gjøre matriser enklere, kan de tilpassede kontrastene være mer meningsfulle i konteksten av dagens Bayesianske modeller, der man ønsker å estimere de faktiske forskjellene mellom betingelsene direkte.

I tillegg til forskjellene mellom kontrastmetodene er det også viktig å forstå hvordan designmatrisen påvirker regresjonsanalysen. Hver rad i designmatrisen representerer et datapunkt, og de forskjellige kolonnene representerer ulike prediktorer (kontraster). Dette betyr at designmatrisen er et kritisk element for hvordan regresjonsmodellen blir spesifisert og hvilke effekter som kan estimeres. Korrekt spesifikasjon av kontrastene i designmatrisen er derfor avgjørende for å kunne trekke riktige konklusjoner fra regresjonsanalysen.

Hvordan bruke kontrastkoding i Bayesianske modeller for faktoriell design

Kontrastkoding er en viktig metode i statistisk analyse som hjelper modeller med å oversette faktorvariabler til numeriske kovariater. I hovedsak gir kontraster en måte å definere hvilke sammenligninger mellom betingelser som skal estimeres i en Bayesiansk modell. Standardkontraster, som behandling- eller sum-kontraster, kan brukes for å estimere spesifikke sammenligninger mellom grupper eller betingelser. Det finnes imidlertid mer avanserte metoder, som ved hjelp av den generaliserte matriseinversen (for eksempel implementert i hypr-pakken), som automatisk kan generere kontraster etter at sammenligningene er definert. Dette gir modeller en mer fleksibel og kraftig tilnærming til kontrastkoding.

I Bayesianske modeller er det relativt enkelt å beregne posteriorprøver for nye kontraster etter at modellen er tilpasset. Likevel er det viktig å spesifisere kontraster nøye når man sammenligner modeller (via Bayes faktorer) for å avgjøre om dataene gir bevis for en interesseeffekt. Hvis effekten som undersøkes gjelder en faktor, må den defineres ved hjelp av kontrastkoding. Å forstå og implementere presise kontraster er essensielt for å kunne gjøre slike sammenligninger på en meningsfull måte.

Kontrastkoding blir spesielt viktig i situasjoner med flere prediktorvariabler. Når det er to faktorer i designet, som i et 2 × 2 design, kreves det spesifikasjon av kontraster som kan fange opp både hovedvirkninger og interaksjoner. Dette kan for eksempel innebære å bruke sum-kontraster i en lineær modell for å estimere forskjellen mellom betingelsene. I et 2 × 2 design, som illustrert i kapittel 7, kan man bruke sum-kontraster for å sammenligne gjennomsnittene på tvers av de ulike betingelsene.

I tilfeller der en av prediktorene er en kontinuerlig variabel (en kovariat) og den andre er en faktor, kan kontrastkoding også brukes for å definere hvordan effektene av faktorene skal estimeres, og hvordan disse skal interagere med den kontinuerlige variabelen. Dette kan bidra til å fange opp mer komplekse effekter i dataene, som samspillet mellom en kategorisk faktor og en kontinuerlig kovariat.

Når man arbeider med Bayesianske modeller og kontrastkoding, er det viktig å være oppmerksom på hvordan modellen estimerer sannsynligheter på forskjellige nivåer. For eksempel, i logistiske modeller eller modeller som antar en log-normal fordeling av den avhengige variabelen, er det nødvendig å oversette de latent estimerte verdiene til observerte nivåer, som sannsynligheter. Dette kan gjøres ved hjelp av passende transformasjoner, for eksempel ved å bruke logistisk eller logaritmisk funksjon for å mappe modellprediksjonene til det observerte nivået.

I tillegg til metodene som er beskrevet, finnes det flere forskjellige tilnærminger for å spesifisere kontraster. I kapittel 7.1 har vi sett på hvordan et 2 × 2 faktoriell design kan modelleres ved hjelp av sum-kontraster og hvordan disse kontrastene kan kombineres for å vurdere både hovedvirkninger og interaksjoner. Dette gir forskeren mulighet til å utforske hvordan ulike faktorer og deres interaksjoner påvirker den avhengige variabelen, og hvordan disse effektene kan estimeres på en pålitelig måte.

Når det gjelder praktiske anvendelser, kan det være nyttig å bruke pakker som hypr for å definere kontraster automatisk, spesielt når man har mer komplekse design. Dette verktøyet kan generere de nødvendige kontrastmatrisene etter at hypotesene for sammenligningene er spesifisert. Dette gir en effektiv måte å håndtere flere faktorer og interaksjoner på, uten å måtte gjøre manuelt arbeid for hver mulig kontrast.

For å oppsummere, er det viktig å forstå at korrekt kontrastkoding er avgjørende for å få pålitelige estimeringer i Bayesianske modeller, spesielt i situasjoner med flere faktorer og variabler. En grundig forståelse av hvordan kontrastene fungerer og hvordan de kan implementeres på forskjellige nivåer av designet, er en nøkkel til å få mest mulig ut av statistiske analyser, enten det gjelder hovedvirkninger, interaksjoner eller mer komplekse modeller med både faktorer og kovariater.