Words and Rules?

12. April 2010

hallo zusammen,

während der letzten wochen habe ich mich recht tief in die inflectional morphology-learning lit eingelesen. speziell habe ich mir die frage angeschaut, ob wir einen (Bybee, Elman, …) oder zwei (Pinker, Marcus, …) Verarbeitungsmechanismus/-en brauchen, um z.B. Past- oder Pluralformen zu bilden.

David Eddington hat hier gezeigt, dass instance-based models (TiMBL und analogical mods a la Skousen) besser performen als zumindest einige Typen von Neuralen Netzen.

Aus meiner Sicht sollten k-nearest neighbor classifiers, die alles über Ähnlichkeitsalgorithmen lösen (und speziell solche, die über instances generalisieren (cf. Fambl) ), outputs erzeugen, die die Vorhersagen von UB-CxGs recht nahe kommen.

Ich hab mir nun mal vorgenommen, mir da mal etwas first hand experience zu erarbeiten und mir mal die outputs verschiedener single-route lösungen anzuschauen.
R verfügt über eine Reihe geeigneter Implementationen relevanter Klassifikationssysteme (e.g. nnet für Neurale Netze, ksvm für Support Vector Machines, randomForest für Random Forest Models, …) und Walter Daelemans/Antal van den Bosch und Kollegen bieten ihr TiMBL frei zum DL an.

Wär cool, wenn jemand von Euch Interesse hat, da mitzumachen,
Im Idealfall entsteht daraus mittelfristig ein kleines L1-Erwerbpapier (auf CHILDES Datengrundlage), daß man dann “co-author”-n könnte.

cheers,
daniel

PS: morgen gehts übrigens los mit session 1 der R Gruppe in SS2010 (siehe letzter post)
3

Philosophy of Science for (empirical) Linguists (in SS 2010?)

3. Februar 2010

hallo zusammen,

ich wollte mal hören, ob es ein interesse daran gibt, im kommenden Semester, das “Tagesgeschäft” mit ein wenig Wissenschaftstheorie zu versuessen. In letzter Zeit orientiert sich ja in der Linguistik sehr sehr vieles an der Biologie (functional explanation, evolutionary processes,…) und diesen Trend kann man ja eigentlich nur begrüßen. Ich weiss nicht, ob es Zufall ist, aber wir scheinen leider auch eine weitere Eigenschaft mit den Biologen zu teilen, nämlich diejenige, nicht gerade die Könige der Theoriebildung zu sein. Wie dem auch sei, ich denke, dass in Zeiten, wo alles, was nicht bei Drei auf den Bäumen der Empirie ist, von den vermeintlichen Vorreitern oft nur noch milde belächelt wird, mehr denn je ein grosser Bedarf entstanden ist, die neuen Wege der Linguistik wissenschaftstheoretisch abzuklopfen.

Und dabei meine ich gar nicht das komische Gefühl, was in mir immer aufkommt, wenn ich Brown & Miller’’s “Concise Encyclopedia of Syntactic Theories” in der Hand halte und mich frage, wieso wir eigentlich immer noch gefühlte 100,000 Syntaxtheorien parallel unterhalten…Was mir vorschwebt, betrifft Fragen, die sich mE jeder empirisch arbeitende Wissenschaftler irgendwann mal stellen sollte. Hier ein kleiner (absolut unsortierter) Auszug aus dem Katalog möglicher Fragen:

- kann man durch iteratives Ablehnen von NIL-hypothesen eigentlich überhaupt irgendwann zu einer vollständigen linguistischen Theorie gelangen (also, bevor unsere Sonne verglüht)?
- was ist eigentlich der Unterschied zw. P(hypothesis|data) und P(data|hypothesis)? was davon suchen wir eigentlich und muss man das überhaupt wissen?
- wie verhalten sich eigentlich explorative und hypothesenprüfende verfahren zueinander und wohin bewegt sich das feld/bzw sollte es sich bewegen
- wenn wir strukturerkennede bzw. strukturgebene verfahren (zb. cluster analysen) einsetzen, wie koennen/sollten wir gegebene strukturen am besten validieren (und welche epistemologische rolle kommt dabei ggf. simulierten daten zu?)
- was ist verhältnis von linguistischer theorie und methode? gibt es auf der einen seite die theoretiker und auf der anderen die “number-cruncher”?
- sollten wir die konstrukte einer theorie nicht vielleicht über ihr messverfahren operationalisieren, anstatt dies konzeptuell zu tun? ich sag nur: prototypikalität von wortbedeutung und dessen definition über “cognitive saliency, frequency, centrality in some network, time of first attestation, time of acquisition, difficulty for L2 learners,…I could go on ;)…maybe these things should *not* be unified under a single label)
- [to be continued]

inspiriert von dem (von mir so wahrgenommenen) erfolg unserer R gruppe, würde ich für diejenigen, die dazu lust haben, im kommenden SS ein wöchentliches treffen organisieren (denn ich muss ja immer noch nicht unterrichten :) und möchte mich natuerlich trotzdem gern für die belange unseres schönen instituts einsetzen.

so, let me know if you are interested and I will start collecting appropriate materials

cheers,
daniel

BTW: ich schlage übrigens vor, wir lassen die R gruppe einfach weiter laufen - gerne auch in der vorlesungsfreien zeit (wer urlaub macht oder keine lust mehr hat, muss natuerlich nicht kommen…ganz nach onkel humboldt)

Session 7: Model simplification

9. Dezember 2009

hallo,

gestern haben wir ne ganze menge geschafft - ich war zumindest ganz zufrieden. wir haben nun die ersten schritte hin zu einem vernünftigen einsatz stat. modelle gemacht und uns mit der standard R-implementation (glm) ansatzweise vertraut gemacht. wenn wir alle größen verstehn, die R im summary-output gibt, dann ist schon sehr viel gewonnen (dazu noch ein kleiner tipp: fügt am besten immer das argument “correlation =T” hinzu (also summary(model, correlation = T); damit bekommt ihr zu den ganzen dingen, die wir gestern besprochen haben noch eine korrelationsmatrix der koeffizienten; stark korrelierte variablen bringen eine gewisse redundanz in unsere erklärung; dazu bald mehr).

für diejenigen unter uns, die in der letzten zeit (oder vielleicht generell) eher wenig erfahrung mit stat. konzepten hatten, muss das hier natuerlich ein wenig heftig sein - denn das thema ist ja bereits recht “advanced” und setzt eine menge fundamentalwissen voraus. aber vielleicht koennen wir die lücken erkennen und quasi rückschauend systematisch schliessen. zur naechsten sitzung hatten wir vereinbart, dort anzusetzen und aus baayen (2008) folgende seiten durchzuackern!

Baayen (2008: 165-169) & (2008:195-202)

der gute harald macht alles idR ziemlich krass-gut (!), neigt allerdings dazu, seinen leser hin und wieder abzuschuetteln (zumindest ging es mir des oefteren so; wenn man sich wieder rangekämpft hat, weiss man die baayen-power :) aber wieder zuschätzen) - ich weiss noch nicht, ob der Baayen-text generell zugänglich genug ist; wir koennen ja mal sehen…

ihr werdet sehen, dass baayen auch das “dependent-as-success/failure-matrix” format benutzt. nächstes mal schauen wir uns nochmal an, wie wir aus der “raw data”-matrix schnell zu diesem format kommen (easy):

wer schonmal ein weing probieren will:
wenn “a” unsere daten sind, die so angeordnet sind, wie sie erhoben werden sollten, so dass also jede spalte eine variable benennt und jede zeile einen fall beschreibt, koennen wir einfach folgendes machen:

new.dataframe=as.data.frame(table(a)) # von hier an ists dann noch kleinkram

outlook: likelihood profiling
"Profile Plot" für faktoren des MinAdModells von gestern (contrast data)

und zum schluss, ich wollte eben die aktuelle version meiner präsi und den R-workspace hochladen, bekomme hier aber aus mir unerklärlichen gründen grad keinen FTP-zugriff auf meine seite. ich probiers aber mutig weiter und sag dann nochmal bescheid…

ok - schönes WE und
best,
daniel

Session 6: GLMs and Binomial Logistic Regression

2. Dezember 2009

gestern haben wir ja mit der besprechung der präsentation weitergemacht und haben uns eine (vermeintlich inadequate) modelstruktur in R angeschaut. diese hatte ja folgende form:
attach(data.dataframe.as.typically.collected) # each row is case
model < - glm ( language ~ pred1 + pred2 + ... + interaction(s), family = binomial)
hier ein bsp:
alt(ernative).mod(el) ist ein generalisiertes lineares modell (glm), in dem die binaere variable "language" als funktion der 3 variablen "embedding" (2 level: center vs. right embedding), ani(macy of the).head (noun of RC) (2 levels: +/-), sowie extern.height (2 levels: high/low ~ kopf is argument oder adjunkt), sowie zweier interaktionen (die doppelpunkt-ausdrücke) modelliert wurde. hier der R output nach dem call:
altmod
die variable “language” ist hier ein vektor/eine liste von 500 verketteten variablenausprägungen des o.g. faktors.
die vielleicht zu präferiende (ich bin mir da noch nicht so sicher) struktur sieht vor, die “dependent var” als “success/failure-array” anzuordnen (wie wir es uns gestern angeschaut haben). tut man dies und hält die systematische komponente stabil, bekommt man das hier:
logmod
mal abgesehen davon, dass die vorzeichen der koeffizienten komplementär sind (was leicht zu beheben ist, indem man die factor-levels einfach derart umbenennt, dass ihre alphabetische reihenfolge umgekehrt wird), bekommen wir im prinzip das gleiche ergebnis. die degrees of freedom der modelle sind aufgrund der unterschiedlichen dateneingabe unterschiedlich, aber die differenz zw. null deviance und residual deviance ist in beiden fällen identisch, nämlich 127.63. (wir haben noch nicht geklärt, was es damit aufsicht hat, werden das aber bald tun). der wert des AIC ist auch identisch. die “fisher scoring iterations” sind quasi gleich kurz (–>gut).

im moment sieht es für mich so aus, als hatten wir hier eine wahl bezgl. der dateneingabe (aber ich les das nochmal nach).
apropos lesen: wir (also ich) muesen nun mal nach texten ausschau halten, die geeignet sind euch schnell und einfach in die lage zu verstzen die ganzen statistischen kenngrössen, diie R da ausspuckt zu verstehen. ich kuemmer mich morgen mal um die textauswahl (alle bücher im büro). schaut euch doch bitte mal das file “logistic.pdf”, welches im DL bereich hier liegt; vielleicht setzt das zuviel voraus…ich weiss nicht…schaut einfach mal.

best,
d.

Session 5: Stat. Modeling and GLMs (cont.)

26. November 2009

hallo zusammen,

in der letzten sitzung haben wir ein paar grundsätze des statistischen modellierens angesprochen (balancing model complexity and descriptive adequacy/predictive power). ich habe vorhin -neben dem R-workspace zu session 3- meine präsentation dazu hochgeladen (pptx & pdf). für die, die nicht da sein konnten und die, die alles bereits wieder vergessen haben ;) –> wir haben noch nicht über GLMs gesprochen und die ersten slides (zu components of a GLM) lässig uebersprungen, um uns einem einfachen beispiel zuzuwenden (p. 16 +), welches die methode der kleinsten quadrate illustriert. dort hatten wir es mit der modellierung einer kontinuierlichen variable y durch genau eine ebenfalls kontinuierlichen variable x zu tun.

ich würde in der nächsten sitzung dort gern ansetzen und im idealfall besprechen, wie man solche ordinären linearen regressionsmodelle generalisieren kann und im speziellen auf den fall hinarbeiten, dass die zu erklärende variable (response) genau 2 ausprägungen hat und wir deren verhalten als funktion mehrerer kategorialen variablen (predictors) erklären wollen. um die logik der einfachen regression auf solche fälle anwenden zu können, müssen wir uns einer reihe von “tricks” bedienen und um diese zu verstehen werden wir uns nächstes mal mit den drei komponenten eines “verallgemeinerten linearen modells” (=generalized linear model (GLM)) beschäftigen, nämlich

1. Random component (Zufallskomponente)
2. Systematic component (Systematische Komponente)
3. Link function ((Parametrische) Link-Komponente)

Wir werden dann sehen, dass das was man als “logistische regression” bezeichnet, ein spezieller Sub-Typ von GLM ist, der geeignet ist, o.g. Fälle (binäre dependent ~ k kategoriale Covariablen) zu modellieren. das schauen wir uns dann kommende woche an.

btw, die kommentare zu den sitzungen sind ja (noch) recht dünn…anstelle potentielle fragen zu themen vergangener sitzungen in extenso in den jeweilig folgenden sitzungen zu besprechen, bietet es sich an, dieses forum vielleicht mit solchen fragen zu bestücken. die tatsache, dass man seine fragen hier natuerlich schriftlich hinterlegt, hat zudem den vorteil, dass man sich mehr gedanken um deren formulierung macht, was ja in vielen faellen zum verständnis beiträgt. ausserdem schaufelt das natuerlich eine menge zeit frei.

vorbereiten könnt ihr euch mit der vertieften lektüre des crawley textes, den karsten rumgeschickt hatte und wenn möglich, indem ihr euch die binomialverteilung mal (wieder) anschaut. In der Regel sind die Wiki Beiträge zu diesen Dingen mE extrem schlecht didaktisiert und listen eigentlich nur Eigenschaften. Schaut doch mal hier(super online textbook), hier (nette illustration von harald kraus (kein plan, wer das ist,…aber egal)), und hier (get yourself a cup of coffee (or green tea if you must) and enjoy).

ok, dann bis spätestens dienstag, daniel

kolloq -> stat.group

19. November 2009

hier ein kleiner nachtrag zu meinem kolloq-talk, der irgendwie nicht so gelaufen ist, wie ich mir das vorgestellt habe…egal. jedenfalls ist das hier der typ von plot, den man mE zu logistischen regressionsmodellen berichten sollte. man sieht dort die logit-koeffizienten zurückgewandelt in wahrscheinlichkeiten.

ok, best,
danielpredict_donor_l1

Session 4: Introduction to Statistical Modeling

18. November 2009

hallo zusammen,

nachdem wir nun ja - m.E. recht produktiv - die ersten hürden genommen habe und eine reihe elementarer konzepte einigermaßen klar geworden (sind|sein sollten), können wir uns nun - denke ich - der stat. modelierung emprischer domänen nähern. hat man die ersten “häh???!!”-effekte mal verkraftet, macht das sogar richtig spass, finde ich :)

bisher haben wir uns ja mit methoden beschäftigt, die darauf abzielen, etwaige effekte von einer “explanatory/independent variable” auf eine “response/dependent variable” a) zu identifizieren (chi.square; fisher”’’s exact) und b) deren stärke zu messen (bedingt: p-werte dieser tests, Cramer”’’s phi/V, (log) odds ratios). genau genommen, waren unsere verfahren allesamt symmetrisch und welche variable nun welche funktionale rolle eingenommen hat, war den tests eher schnuppe…

das “problem” dabei ist allerdings, dass sie miese tücken haben, wenn sie auf korpusdaten (also “observational data”) angewendet werden. Crawley (2007:553) beschreibt dieses Problem in einem Kapitel, das er “The Danger of Contingency Tables” nennt ;). Dort heisst es:

In observational studies we quantify only a limited number of explanatory variables. It is inevitable that we shall fail to measure a number of factors that have an important influence on the behavior of the system in question. [...] The problem comes when we ignore factors that have an important influence on the response variable. This difficulty can be particularly acute if we aggregate data over important explanatory variable
… und dann kommt ein Bsp. Was damit nun genau gemeint ist, werden wir uns bald verdeutlichen.

Wichtig ist es, erstmal von diesem “richtig/falsch”-Gedönz wegzukommen und anzuerkennen, dass es niemals das einzig wahre modell geben wird…irgendwie scheint mir der modellbegriff ja auch schon zu implizieren, dass wir es mit mehr oder weniger guten vereinfachungen des zielsystems zu tun haben. zudem sind (nil-)hypothesentestende verfahren eh ziemlich beknackt wissenschaftlich gesehen fragwürdig: siehe z.b. hier, hier, oder hier. eigentlich muss man sich nur mal fragen, wie man durch das ablehnen einer nil-hypothese überhaupt je einmal zu einer theorie kommen soll…but I digress

also, jedenfalls werde ich für die kommende sitzung mal was vorbereiten. wenn ihr es schafft/lust habt koennte ihr euch vielleicht schon mal das Kap 9 in Crawley”” R Book (Crawley 2007), oder Kap 7. im “kleinen Crawley” anschauen. Mindestens Karsten und ich haben diese Texte und mindestens ich leihe sie auch gern mal zum scannen aus…

ok, bald mehr (–> siehe dann “Kommentare zu diesem post”)
best,
daniel

Session 3

11. November 2009

hallo,

für die kommende sitzung ist nun folgendes vorgesehen:
thema: trügerische p-werte und die verwendung von effektstärken

- ich werde kurz demonstrieren, wieso man eigentlich immer mit effektstärken arbeiten sollte
- dann werden wir uns ein paar typen von effektstärken anschauen (Cramer phi und V, sowie (log) odds ratios http://en.wikipedia.org/wiki/Effect_size#.CF.86.2C_Cram.C3.A9r.27s_.CF.86.2C_or_Cram.C3.A9r.27s_V )
- odds ratios sind dabei besonders wichtig, da wir sie auch für komplexere verfahren wieder brauchen werden, z.b. bei logistischer regression
- schaut euch den kram bitte im vorfeld an, damit wir schneller vorankommen koennen (das ganze wird für mich natuerlich deutlich interessanter, wenn ihr euch ausserhalb unserer treffen mal kritisch mit diesen dingen auseinandersetzt)
- ich werde dann kurz zeigen, wie man (log) odds ratios nett plotten kann –> mein kolloq talk nach unserem treffen beinhaltet eben solche plots…ich kann noch nicht einschätzen, ob die tatsache, dass wir diese plots dann kurz zuvor besprochen haben werden, ggf. einen positiven oder negativen effekt auf die einschlafwahrscheinlichkeit der hörer haben wird… ;)
- wenn es die zeit zulässt, koennen wir auch kurz den unterschied zw. asymptotischen (e.g. chi-square) und exakten tests (e.g. fisher-yates) ansprechen und an beispielen zeigen

schaun wir mal,
best,
daniel

Session 2

7. November 2009

hallo zusammen,

ich habe soeben karstens mini-präsentation hochgeladen, in der es darum ging, zu zeigen, wie man explorative verfahren (in typologischen kontexten) einsetzen kann. ich denke, wir sollten definitiv nochmal zu diesen dingen zurückkommen, sobald wir ein wenig weiter sind. vielleicht werden wir auch noch andere explorativen verfahren kennenlernen - ich finde bestimmte “baum modelle” sehr hilfreich ( http://en.wikipedia.org/wiki/Recursive_partitioning ) und könnte mir vorstellen, die einzuführen, wenn es unser plan zulaesst …

aber letztlich hatten wir uns ja darauf verständigt - wenn ich das recht erinnere -, (a) den fokus auf hypothesen-testende verfahren zu setzen und (b) uns mit statistischer modellbildung auseinanderzusetzen. wir werden sehen …

am dienstag werden wir dann erstmal mit einem datensatz rumspielen, der vom typ her dem entsprechen sollte, was ihr (also z.b. martin, franziska, ?) erheben werdet. ich habe diesen nun auch schon mal als tab-getrenntes text file hochgeladen, so dass es einfach nach excel/calc sowie nach R importierbar ist. (jede zeile des datensatzes beschreibt genau einen fall (d.h. einen korpusbeleg) relativ zu einer reihe von (nominalskalierten) variablen, die folglich in den spalten angeordnet sind).

wir brauchen für die kommende sitzung:
- R > 2.4.0 (die neueste R-Version ist mom. 2.10.0)
- das Paket “vcd” (danke Martin ;) ) & dessen dependents
- den o.g. datensatz

ertmal klären wir dann die basics in R (dateneingabe, basic syntax, etc.) und dann
fangen wir ganz klein an und konzentrieren uns auf das erstellen einfacher kontingenztafeln (–> 2×2 kreuztabellen), deren stat. auswertung und möglichkeiten d. visualisierung etwaiger effekte. dabei sollten wir bereits eine reihe elementarer stat. konzepte ansprechen koennen (stat. signifikanz, effektstärke, konfidenzintervall, …); schaut die bedeutungen dieser ausdrücke doch bitte nochmal nach, wenn euch diese
(a) noch nicht, oder
(b) nicht mehr so recht, oder
(c) = (a) + (b) = waren noch nie so recht und sind auch immer noch nicht
hinreichend klar sind ;)
eine gute hilfestellung dazu findet sich z.b. hier :
http://www.statsoft.com/textbook/Stathome.html

ok, schoenes WE dann noch
daniel

PS: vergesst nicht, die ersten 50-60 seiten gries zu lesen ;) haben den text eigentlich alle?

Diagnostic Plots in R

29. Oktober 2009

Residuals versus Leverage (model9)

Residuals versus Leverage (model9)