Regression (zweiter Teil)

Slides:



Advertisements
Ähnliche Präsentationen
Spektrale Analysen in EMU-R: eine Einführung
Advertisements

Artikulatorische Analyse der Lippenbewegungen in Schwas:
Vom graphischen Differenzieren
Die akustische Analyse von Sprachlauten.
Die phonetischen Merkmale von Vokalen
Spektra von periodischen Signalen. Resonanz.
Regression und Korrelation
Logistic Regression Jonathan Harrington Befehle: logistic.txt.
Logische Vektoren in R Jonathan Harrington.
Logistic Regression Jonathan Harrington Bitte lost.txt und lost2.txt laden – siehe Befehle in logistic.txt.
Spektrale Analysen in EMU-R: eine Einführung Jonathan Harrington.
Die Varianzanalyse Jonathan Harrington.
Mehrfache und polynomiale Regression Jonathan Harrington Kriteria für die Durchführung einer Regression pfad = "Das Verzeichnis, wo die Daten gespeichert.
Mixed Models Jonathan Harrington library(ez) library(lme4)
Die t-Verteilung Jonathan Harrington.
Mehrfache und polynomiale Regression
Mixed models Jonathan Harrington
Formant-Analysen von Vokalen (2) Jonathan Harrington 1, 2 Struktur und Abbildung einer Trackdatei 3, 4. Anwendung von vorhandenen und eigenen Funktionen.
Kovarianz, Korrelation, (lineare) Regression
Kovarianz, Korrelation, (lineare) Regression
Berechnung von digitalen Signalen Jonathan Harrington.
Sprachproduktion- und Sprachperzeption
Logistische Regression und die Analyse von Proportionen
Spektrale Analysen in EMU-R: eine Einführung
Vokale und die Quantaltheorie
Logistische Regression und psychometrische Kurven
Die t-Verteilung (fortgesetzt)
Wann ist eine Regression zulässig? siehe siehe auch: UCLA Statistics Dept. Denise.
Parametrisierung von Spektra
Mehrfache und polynomiale Regression
Mehrfache und polynomiale Regression Jonathan Harrington Kriteria für die Durchführung einer Regression library(MASS) # ydata.txt und epg.txt in einem.
Artikulationsstelle, F2-Locus, Locusgleichungen Jonathan Harrington.
Etikettierungsebenen Jonathan Harrington. Das Ziel Etikettierungen verschiedener Ebenen aufzubauen, und miteinander zu verlinken.
Kovarianz, Korrelation, (lineare) Regression
Aufbau, Abfrage, Analyse von Sprachdatenbanken ErstellungAnalyse Abfrage Digitale Zeitsignale akustisch, artikulatorisch Etikettieren Verknüpfung mit Symbolen.
Was ist die artikulatorische Grundlage von Locus-Gleichungen? Hauptseminar: Modelle der Sprachproduktion & - perzeption Dozent: Prof. Dr. Jonathan Harrington.
Kovarianz, Korrelation, (lineare) Regression Jonathan Harrington BITTE NOCH EINMAL dframes.zip (Webseite 4.1) herunterladen und in pfad auspacken.
Logistische Regression und die Analyse von Proportionen Jonathan Harrington.
Forschungsstatistik II
Forschungsstatistik I Prof. Dr. G. Meinhardt WS 2004/2005 Fachbereich Sozialwissenschaften, Psychologisches Institut Johannes Gutenberg Universität Mainz.
Forschungsstatistik II Prof. Dr. G. Meinhardt SS 2006 Fachbereich Sozialwissenschaften, Psychologisches Institut Johannes Gutenberg Universität Mainz KLW-26.
A-Priori Kontraste Prüfung des Mittelwerteunterschieds von Faktorstufen bzw. Kombinationen von Faktorstufen: z.B.: oder.
Nachholung der Vorlesung vom Freitag
Klausur am :00 bis 13:00 Hörsaal Loefflerstraße und Hörsaal Makarenkostraße.
Tutorium
Tutorium Aufgabe 1 Informationen in Designmatrix in: - Darin sind die Prädiktoren enthalten - Aber sagt uns noch mehr! Untersuchungsdesign darin.
Vorlesung: ANOVA I
Einfache Regressionsgleichung
Multikollinearität Wann spricht man von Multikollinearität?
Wiederholung: Einfache Regressionsgleichung
Logistische Regression
Die t-Verteilung und die Prüfstatistik
Die t-Verteilung und die Prüfstatistik
Varianzanalyse mit Messwiederholungen
Die t-Verteilung Jonathan Harrington. Standard error of the mean (SE) ist die Standardabweichung von Mittelwerten Ich werfe 5 Würfel und berechne den.
Die t-Verteilung und die Prüfstatistik
EMA in Emu-R Jonathan Harrington
Statistik: Mehr zur Regression.
Modul Statistische Datenanalyse
Kapitel 16 Ökonometrische Modelle
Kovarianz, Korrelation, (lineare) Regression
Vom graphischen Differenzieren
Die einfache/multiple lineare Regression
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
Die Varianzanalyse Jonathan Harrington library(ggplot2) library(ez)
Kovarianz, Korrelation, (lineare) Regression
Die Varianzanalyse Jonathan Harrington library(lattice) library(ez)
Die Varianzanalyse Jonathan Harrington library(ggplot2) library(dplyr)
Kovarianz, Korrelation, (lineare) Regression
Kovarianz, Korrelation, (lineare) Regression
 Präsentation transkript:

Regression (zweiter Teil) Jonathan Harrington

1. Regression und die Locus-Theorie Neigungen von Regressionslinien miteinander vergleichen 2. Voraussetzungen für die Durchführung einer Regression 3. Mehrfache (multiple) Regression: zwei oder mehrere Regressoren 4. Polynomiale Regression

F2-Transitionenen und die Locus-Theorie Die F2-Transitionen, die die Artikulationsstelle auditiv vermitteln, sind durch eine Kombination vom Locus und der Vokalzielposition voraussagbar g /g/ vor vorderen Vokalen: 3000 Hz b F2-Lokus /b/ ca. 700 Hz i d /d/ ca. 1800 Hz Frequenz Dauer /g/ vor hinteren Vokalen: keine einheitliche Locus-Frequenz

In der gesprochenen Sprache weichen F2-Onsets (F2-Offsets) von der theoretischen Locusfrequenz ab, teilweise wegen antizipatorischer oder perzeveratorischer V-auf-K Koartikulation. F2 (Hz) d i: o: 50 150 250 500 1000 2000 Time (ms)

F2-Locus und V-auf-K Koartikulation Max. V auf K Koartikulation Dauer 500 2000 Dauer 500 2000 800 bIb bb Keine V-auf-K Koartikulation Locus ist vom Vokal unabhängig Kein Locus daher ist der F2 Target vom F2 Onset nicht vorhersagbar F2 Target ist vom F2 Onset vorhersagbar

Locusgleichung (Regressionlinie im Raum von F2 Target x F2 Onset) Die Neigung liegt zwischen 0 und 1 Je steiler (näher an 1) die Neigung, umso bedeutender die V auf K Koartikulation 500 1500 2500 bIb bb F2(Onset)=Locus, Regressionsneigung = 0 Dauer 2000 800 F2 Onset F2 Target 500 1500 2500 bIb bb F2(Target) = F2(Onset) Regressionsneigung =1 Dauer 2000 F2 Target F2 Onset

V-auf-K Koartikulation in /dV/ im Vgl. zu /Vd/ Ein Sprecher (australisch Englisch) erzeugte /dVd/ Silben, fuer verschiedene Vokale. In welchen Reihenfolgen, initiale /dV/, oder finale /Vd/, ist die V-auf-K Koartikulation wahrscheinlich am bedeutendsten: initial oder final?

V-target = 600 Hz, F2in=1800 Hz, F2off=1300 Hz 2000 d F2 (Hz) d 1000 o: 500 Dauer (ms) 50 150 250 V-target = 600 Hz, F2in=1800 Hz, F2off=1300 Hz

F2-verschiedene Vokale /dV/ /Vd/ 100 200 300 400 500 1500 time (ms) 1 -400 -300 -200 -100 Welche Regressionslinie müsste steiler sein? dV Vd F2-Offset F2-Onset F2-Target F2-Target

F2 /dVd/-Daten einlesen pfad = "Das Verzeichnis, wo die Daten gespeichert ist" fdat = read.table(paste(pfad, "dform.txt", sep="/"), header=T) attach(fdat) names(fdat) "lab" "F2targ" "F2in" "F2fin" plot(F2targ, F2in, type="n", xlab="F2-targ", ylab="F2-initial") text(F2targ, F2in, lab) Regressionslinie berechnen ^ regin = lm(F2in ~ F2targ)

^ überlagerte Regressionslinie abline(regin) Dasselbe für F2-Offset regfin = lm(F2fin ~ F2targ) Koeffiziente F2-Initial: coef(regin) (Intercept) F2targ 1220.2502132 0.2710194 coef(regfin) Intercept) F2targ 829.4801710 0.4641336 Koeffiziente F2-Final:

Nebenbei: Vorhersage-Intervall pfad = "Das Verzeichnis, wo die Daten gespeichert ist" source(paste(pfad, "lmint.S", sep="/")) Die Wahrscheinlichkeit, dass Werte innerhalb der blauen Linie fallen = 95% lmint(F2targ, F2in, level=.95) möglicher Ausreißer

Die Neigungen vergleichen pfad = "Das Verzeichnis, wo die Daten gespeichert ist" source(paste(pfad, "Slope.test.S", sep="/")) args(Slope.test) # siehe unten, Hilfseite function (...) … bedeutet: beliebig viele Argumente. jedes Argument soll eine zweispaltige Matrix sein. Die y-Werte (F2in oder F2fin) in Spalte 1, die x-Werte (F2-targ) in Spalte 2. Slope.test(mat1, mat2) die Regressionslinie für die Daten in mat1 wird berechnet; die Regressionslinie für die Daten in mat2 wird berechnet; die Neigungen dieser beiden R-Linien werden statistisch miteinander verglichen. Hilfeseite: siehe Slope.test.pdf in unserer Webseite.

# 2-spaltige Matrix der F2in-Werte onset = cbind(F2in, F2targ) # 2-spaltige Matrix der F2fin-Werte offset = cbind(F2fin, F2targ) Slope.test(onset, offset) $separate r-sq F ratio df df prob. line fits data intercept slope first.out 0.8632720 69.45167 1 11 0.9999956 1220.2502 0.2710194 first.out 0.7437726 31.93061 1 11 0.9998513 829.4802 0.4641336 $combined F ratio Probability of them being DIFFERENT df df intercept 5.971148 0.9773694 1 23 slope 4.778655 0.9602575 1 22 Die Neigungen der Regressionslinien unterscheiden sich F=4.78, df = 1, 22, p < 0.05 oder F(1,22) = 4.78, p < 0.05 Da sich die Regressionslinien signifikant unterscheiden, ist die V-auf-K Koartikulation unterschiedlich in /Vd/ im Vergleich zu /dV/.

2. Voraussetzung für die Durchführung der Regression siehe vor allem http://www.duke.edu/~rnau/testing.htm und E-Buch in der LMU Autor = Verzani Kap. 10)

2.1. Folgen die 'residuals' einer Normalverteilung? (siehe regression.ppt, vorige Woche) qqnorm(resid(regin)) oder plot(regin, 2) qqline(resid(regin)) shapiro.test(resid(regin)) Shapiro-Wilk normality test data: resid(regin) W = 0.9274, p-value = 0.3148 Zusätzlicher Test Die Verteilung der residuals weicht nicht signifikant von einer Normalverteilung ab Die Werte sollen nicht allzusehr von der geraden Linie abweichen

2.2. Ist Linearität erkennbar? Sind wir sicher, dass die y/x Werte wirklich mit einer Linie modelliert werden können? oder vielleicht nicht besser mit einer Parabel?

2.2. Test für Linearität Die Werte in einer Abbildung der residuals als Funktion der eingeschätzen Werte, y, sollten mehr oder weniger auf einer randomisierten Weise um die Linie residuals = 0 verteilt sein. ^ plot(predict(regin), resid(regin)) plot(regin, 1) oder

2. 3. Keine Autokorrelation (die aufeinanderfolgenden Werte in der x oder y-Achse müssen voneinander unabhängig sein). Ein gutes Beispiel von autokorrelierten Daten: ein stimmfahfes Sprachsignal Man soll überhaupt sehr vorsichtig sein, eine Regression auf Daten mit einer Zeit-Achse anzuwenden (da Werte als Funktion der Zeit sich oft wiederholen, also sie sind oft miteinander korreliert).

2. 3. Test für Autokorrelation Die Autokorrelation der residuals berechnen Autokorrelation lag k inwiefern sind die ersten n-k Werte des Signals mit den letzten n-k Werte korreliert? zB Autokorrelation lag 1 bei einem 4-Punkt Signal: die ersten 3 Werte werden mit den letzten 3 Werte verglichen Autokorrelation lag 0: kann ignoriert werden: sie hat immer den Wert 1. Alle anderen lag-Werte variieren zwischen -1 und 1 acf(resid(regin))

2. 3. Test für Autokorrelation 1.0 95% Vertrauensintervall um 0 0.5 n = length(F2targ) ACF 2/sqrt(n) 0.0 -0.5 2 4 6 8 10 Lag Insbesondere die Werte bei lag 1 und 2 beobachten: diese sollten in jedem Fall innerhalb des Vertauensintervalls liegen. Wenn die meisten ACF-Werte innerhalb der blauen Linien liegen, gibt es keine Autokorrelation.

2. 4. Konstante Varianz oder 'homoscedasticity' der Residuals? Insbesondere sollten die residuals nicht wesentlich größer am Anfang/Ende sein, sondern auf eine randomisierte Weise um die 0 Linie verteilt sein. plot(resid(regin))

2.5. Ausreißer Ein einziger Ausreißer vor allem vom Mittelpunkt weit entfernt kann die Regressionslinie deutlich beeinflussen. Ausreißer die eventuell (aber nicht unbedingt) die Regressionslinie stark beeinflussen, können mit dem sog. Cookes Distance aufgedeckt werden plot(regin, 4) Die Werte 1 und 12 sind vielleicht solche Ausreißer, also onset[c(1,12),]

2.5. Ausreißer Die Cookes-Entfernungen und daher Ausreißer könnten auch mit einem sogenannten 'bubble plot' (siehe Verzani) abgebildet werden plot(F2targ, F2in, cex = 10*sqrt(cooks.distance(regin))) text(F2targ, F2in, as.character(1:length(F2in))) Ausreißer

2.5. Ausreißer Man könnte dann prüfen, ob sich die Regressionlinien signifikant mit/ohne Ausreißer unterscheiden: onsetohne = onset[-c(1,12),] Slope.test(onset, onsetohne) $combined F ratio Probability of them being DIFFERENT df df intercept 0.38475966 0.45825958 1 21 slope 0.01596279 0.09927878 1 20 detach(fdat)

3. Mehrfache Regression

^ Einfache Regression ^ Mehrfache Regression In diesem Fall: 2 Regressors (x1, x2) , 2 Neigungen (b1, b2), ein Intercept, k x1 x2 y Und eine gerade Linie in einem 3D-Raum

Mehrfache Regression Es können auch mehrere Regressoren sein… ^ Eine gerade Linie in einem n-dimensionalen Raum n verschiedene Neigungen, ein Intercept

Einige Daten pfad = "Das Verzeichnis, wo die Daten gespeichert ist" ydata = read.table(paste(pfad, "ydata.txt", sep="/"), header=T) attach(ydata) names(ydata) [1] "F2" "DORSY" "DORSX" "LIPY" "LIPX" [y] Vokale, alle Werte zum zeitlichen Mittelpunkt DORSX, DORSY (horizontale und vertikale Position des Zungendorsums) LIPX, LIPY (horizontale Verlagerung und vertikale Position der Unterlippe)

Wir wollen versuchen, den F2-Wert aus diesen artikulatorischen Parametern vorherzusagen. Einige informellen Vorhersagen F2 steigt wenn: DORSY steigt steigt/fällt DORSX nach vorne nach vorne/hinten LIPY fällt (die Lippen werden offener) steigt/fällt LIPX nach hinten (Lippen sind nicht so gerundet) nach vorne/hinten

Ein mehrfaches Regressionsmodell F2 = b1DORSX +b2DORSY + b3LIPX + b4 LIPY + k ^ hat die Bedeutung F2 = ein Gewicht mal die horizontale Position der Zunge + ein anderes Gewicht mal die vertikale Position der Zunge + …. + ein Intercept ^ Mehrfache Regression in R Festlegung von b1, b2, b3, b4, k Sind alle diese Parameter notwendig? Wenn nicht, welches Parameter oder Parameterkombination hat die deutlichste lineare Beziehung zu F2?

pairs(ydata) hoch tief hinten* vorne oben unten hinten vorne * Richtung Glottis

F2 = b1DORSX +b2DORSY + b3LIPX + b4 LIPY + k ^ regm = lm(F2 ~ DORSX+DORSY+LIPX+LIPY) Koeffiziente coef(regm) Normalverteilung der Residuals? shapiro.test(resid(regm)) plot(regm, 2) usw. wie für einfache Regression

summary(regm) Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 1355.05 822.63 1.647 0.113 DORSX -38.33 157.21 -0.244 0.810 DORSY 63.08 254.27 0.248 0.806 LIPX -67.36 110.90 -0.607 0.550 LIPY -164.08 205.04 -0.800 0.432 Residual standard error: 83 on 23 degrees of freedom Multiple R-Squared: 0.3939, Adjusted R-squared: 0.2884 F-statistic: 3.736 on 4 and 23 DF, p-value: 0.01747 F2 kann mit einer multidimensionalen Regressionslinie aus diesen artikulatorischen Parametern modelliert werden: Adjusted R2 = 0.29, F (4, 23) = 3.74, p < 0.05.

Adjusted R2 R2: (siehe vorige Vorlesung) ist die Proportion der Varianz, die durch die Regressionslinie erklärt werden kann (variiert zwischen 0 und 1; 1 bedeutet alle Werte liegen auf der Linie) R2 wird mit einer zunehmenden Anzahl von Regressoren größer. Daher muss in der Berechnung von R2 für die Anzahl der Regressoren kompensiert werden, wenn wir - wie in diesem Fall –Regressionslinien mit unterschiedlichen Anzahlen von Regressoren miteinander vergleichen wollen.

Adjusted R2 kann auch negativ sein ist weniger als R2 Adjusted R2 = n ist die Anzahl der Stichproben, k ist die Anzahl der Regressoren. 1-(1-0.3939) * ( (n-1)/(n-4-1) ) n = length(F2) [1] 0.2884913 Für diesen Fall

Modell-Prüfung durch AIC (Akaike's Information Criterion) Mit der stepAIC() Funktion in library(MASS) wird geprüft, ob für die Regression wirklich alle (in diesem Fall 4) Regressoren benötigt werden. Je kleiner AIC, umso nützlicher die Kombination für die Regression (umso höher adjusted R2) library(MASS) stepAIC(regm)

Start: AIC= 251.95 F2 ~ DORSX + DORSY + LIPX + LIPY Df Sum of Sq RSS AIC - DORSX 1 410 158861 250 - DORSY 1 424 158875 250 - LIPX 1 2541 160993 250 - LIPY 1 4412 162863 251 <none> 158451 252 sortiert nach AIC. Dies ist der AIC-Wert, wenn aus diesem Modell DORSX weggelassen wäre. Daher wird im nächsten Modell DORSX weggelassen. Vor allem ist dieser AIC Wert weniger als AIC mit allen Parametern (= 251.95).

Step: AIC= 250.02 F2 ~ LIPX + LIPY + DORSY Df Sum of Sq RSS AIC - DORSY 1 1311 160172 248 - LIPY 1 4241 163102 249 <none> 158861 250 - LIPX 1 16377 175238 251 AIC ist am kleinsten, wenn aus diesem Modell DORSY weggelassen wird. Und dieser Wert ohne DORSY ist kleiner als derjenige mit LIPX+LIPY+DORSY zusammen. Daher wird DORSY weggelassen…

Step: AIC= 248.25 F2 ~ LIPX + LIPY Df Sum of Sq RSS AIC <none> 160172 248 - LIPX 1 25225 185397 250 - LIPY 1 50955 211127 254 Wenn wir entweder LIPX oder LIPY weggelassen, dann wird AIC höher im Vergleich zu AIC mit beiden Parametern zusammen. Daher bleiben wir bei F2 ~ LIPX + LIPY

Dieses Modell F2 ~ LIPX + LIPY müsste auch den höchsten adjusted R2 haben. Prüfen, zB: summary(regm) summary(lm(F2~LIPX+LIPY)) Adjusted R-squared: 0.3383 Adjusted R-squared: 0.2884 Also wird die Variation in F2 in [y] am meisten durch die horizontale und vertikale Position der Unterlippe erklärt.

4. Polynomiale Regression ein Regressor ein Koeffizient ^ ein Regressor, 2 Koeffiziente ^ bestimmt die Krümmung; b2 ist näher an 0 b2 ist positiv b2 ist negativ

ein Regressor, n Koeffiziente ^ In allen Fällen handelt es sich um Abbildung/Beziehungen im 2D-Raum (da wir mit einem Regressor zu tun haben).

detach(ydata) pfad = "Das Verzeichnis, wo die Daten gespeichert ist" edat = read.table(paste(pfad, "epg.txt", sep="/")) attach(edat) plot(COG, F2)

^ regp = lm(F2 ~ COG + I(COG^2)) coef(regp) (Intercept) COG I(COG^2) -294.3732 2047.8403 -393.5154 ^ plot(COG, F2) Die Parabel überlagern curve(-294.3732+2047.8403*x -393.5154*x^2, add=T)

summary(regp) Beide Komponente, COG und COG2 der Parabel scheinen notwendig zu sein, um die F2-COG Beziehungen zu modellieren. Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -294.37 139.95 -2.103 0.0415 * COG 2047.84 192.83 10.620 1.81e-13 *** I(COG^2) -393.52 54.17 -7.264 6.10e-09 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 202.1 on 42 degrees of freedom Multiple R-Squared: 0.9092, Adjusted R-squared: 0.9049 F-statistic: 210.4 on 2 and 42 DF, p-value: < 2.2e-16

mit stepAIC() kann wieder festgestellt werden, ob wir den COG2 Parameter wirklich benötigen: stepAIC(regp) Scheinbar ja (da AIC höher wird, wenn entweder COG oder COG2 aus dem Modell weggelassen werden). Start: AIC= 480.69 F2 ~ COG + I(COG^2) Df Sum of Sq RSS AIC <none> 1715550 481 - I(COG^2) 1 2155469 3871019 515 - COG 1 4606873 6322423 537 Call: lm(formula = F2 ~ COG + I(COG^2)) Coefficients: (Intercept) COG I(COG^2) -294.4 2047.8 -393.5