Häufige Muster in nominalen Daten ermitteln: Verfahren?

Fragen, die sich auf kein spezielles Verfahren beziehen.

Häufige Muster in nominalen Daten ermitteln: Verfahren?

Beitragvon arooon » Fr 30. Jul 2021, 21:22

Hallo zusammen,
bei meinem Versuch mussten Probanden (n=168) ihr Vorgehen beim gemeinsamen Lernen angeben. Dafür haben sie aus einem vorgegebenen Pool aus 26 Aktivitäten beliebig viele ausgewählt und in die gewünschte Reihenfolge gebracht. Jede Aktivität war jeweils maximal 1x wählbar. Ich wollte u.a. explorativ schauen, ob bestimmte Muster an aufeinanderfolgenden Aktivitäten gehäuft auftreten. Also folgt Aktivität "koordination1" besonders häufig auf Aktivität "argumentation3" etc.

Kennt da jemand eine Möglichkeit wie man das statistisch macht? Ich arbeite bis jetzt mit SPSS, könnte mir aber auch was anderes aneignen. Meine Betreuerin für die Bachelorarbeit hat auch keinen Plan, hat aber so ein paar keywords gedroppt "irgendwie die Übergangswahrscheinlichkeiten ermitteln" oder "Sequenzen finden"...keine Ahnung ob das hilfreich ist :)

Vielen Dank für jeden Hinweis, wie man das angehen könnte.
arooon
Grünschnabel
Grünschnabel
 
Beiträge: 3
Registriert: Fr 30. Jul 2021, 21:01
Danke gegeben: 1
Danke bekommen: 0 mal in 0 Post

Re: Häufige Muster in nominalen Daten ermitteln: Verfahren?

Beitragvon strukturmarionette » Sa 31. Jul 2021, 02:10

Hi,

Meine Betreuerin für die Bachelorarbeit .. hat aber so ein paar keywords gedroppt

- frag sie nach einer einer seriösen Literaturquelle

Gruß
S.
strukturmarionette
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 4313
Registriert: Fr 17. Jun 2011, 22:15
Danke gegeben: 32
Danke bekommen: 582 mal in 579 Posts

Re: Häufige Muster in nominalen Daten ermitteln: Verfahren?

Beitragvon bele » Sa 31. Jul 2021, 10:29

Hallo arooon,

vorab: ich kenne keine etablierten Verfahren, das anzugehen. Weiß aber, wie ich persönlich anfangen würde, dem zu nähern. Zunächst würde ich jeder Deiner Aktivitäten einen von 26 Buchstaben oder Zeichen zuordnen, dann daraus Buchstabenfolgen bilden. Wenn einer erst Aktivität E, dann Aktivität V und dann A gewählt hat, beschreibe ich seine Antwort als:
Code: Alles auswählen
EVA

Die Summe Deiner 168 Beobachtungen ließe sich dann in 168 Zeilen abbilden:
Code: Alles auswählen
EVA
NORLHK
EWAH
RUITE
ERHA
...


Jetzt brauchen wir eine in ihrer oberflächlichen Nutzung leicht erlernbare Scriptsprache. Ich würde da primär an Python, JavaScript oder R denken, nachranging an Unixtools wie awk, grep oder Perl. Je nachdem, wo vielleicht schon Vorkenntnisse vorhanden sind oder wo sich interessenindividuell vielleicht später eine nützliche Zweitverwertung ergibt.

Alle diese Sprachen können solche Zeilenfolgen zeilenweise untersuchen. Alle bringen sie Funktionen dafür mit und meistens lassen sich Funktionen ergänzen. Aufgrund von Vorkenntnissen wäre meine persönliche erste Wahl die Progammiersprache R, für die man Textuntersuchungsfunktionen beispielsweise mit dem Paket stringi nachrüsten kann: Schau hier mal kurz rein um einen Eindruck von der Vielfalt zu erhalten: https://stringi.gagolewski.com/
Allen diesen Sprachen ist gemein, dass sie sogenannte "Reguläre Ausdrücke" aka "regular expressions" aka "regex" nutzen. Das ist eine kleine Spezialsprache, mit der sich Muster in Zeichenfolgen effizient beschreiben und suchen lassen. Es ist also ganz leicht, mit regex zu beschreiben, dass man nach Zeichenfolgen "E"- irgendeines- "A" sucht und dann kann man mit den Mitteln der übergeordneten Sprache danach in den 18 Zeilen suchen lassen und die Vorkommen zählen.

Wenn Du Dir zunächst Regex angeeignet hast (das sollte mit wenigen Webseiten getan sein) und Dir Grundlagen in der übergeordneten Sprache Deiner Wahl angeeignet hast (das geht nicht so schnell, aber es Foren für jede Sprache die Dir helfen werden, das richtige auszuwählen und Abkürzungen zu nehmen), dann kannst rasch Fragen an Deine Daten stellen wie:

  • Was ist die drei häufigsten Anfangsaktivitäten
  • Was sind die häufigstens Endaktivitäten
  • Wenn jemand mit A anfängt, mit welcher Aktivität hört er dann meistens auf
  • Wie häufig kommt irgendwo das Muster E*A vor
  • Welche 5-Buchstabenfolgen kommen wie häufig vor
  • ...

Klar, das wird nicht ganz leicht, sich gleichzeitig clevere Fragen ausdenken zu müssen und zugleich die nötigen Programmierkenntnisse zu entwickeln, aber wenn es leicht wäre, würde es ja jeder machen.

Das Deutsche Python-Forum: https://www.python-forum.de/
Das Deutsche R Forum http://forum.r-statistik.de/
JavaScript -- musst Du selbst suchen.

Ich vermute mal, dass die Genetiker auch irgendwo schon Standardverfahren etabliert haben, wie man Muster in Buchstabenfolgen sucht und findet. Die Frage ist, wie man das als Nicht-Genetiker am besten finden kann.

LG,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5774
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1356 mal in 1343 Posts

Re: Häufige Muster in nominalen Daten ermitteln: Verfahren?

Beitragvon bele » Sa 31. Jul 2021, 12:07

Hi,

hier noch eine andere Idee: 168 Beobachtungen wie oben gesagt als Buchstabenfolge codieren, dann eine Distanzmatrix mit Levenshteindistanz als Distanzmaß errechnen und in einer hierarchischen Clusteranalyse schauen, ob sich da Cluster abzeichnen.

LG,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5774
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1356 mal in 1343 Posts

Re: Häufige Muster in nominalen Daten ermitteln: Verfahren?

Beitragvon arooon » Sa 31. Jul 2021, 13:54

Hi bele,
danke dir das scheint mir eine sehr gute Idee mit der Buchstabenfolge zu sein. Mit Python und Regex habe ich ein bisschen Erfahrung, da lässt sich sicherlich was machen. Ich glaube Clusteranalysen sind aber noch näher an dem dran, was ich untersuchen möchte. Es geht mir in erster Linie darum häufige Buchstabenabfolgen zu finden. Diese Levenshtein-Distanz vergleicht immer nur 2 Zeichenketten, wenn ich das richtig sehe. Wo und wie kann man das für alle Zeichenketten berechnen oder habe ich da einen Denkfehler?

Viele Grüße,
Aron
arooon
Grünschnabel
Grünschnabel
 
Beiträge: 3
Registriert: Fr 30. Jul 2021, 21:01
Danke gegeben: 1
Danke bekommen: 0 mal in 0 Post

Re: Häufige Muster in nominalen Daten ermitteln: Verfahren?

Beitragvon bele » Sa 31. Jul 2021, 17:29

Hallo Aron,

arooon hat geschrieben:Es geht mir in erster Linie darum häufige Buchstabenabfolgen zu


Dann dürfte es das einfachste sein, die vorhandenen Buchstabenfolgen zu finden, sie zu zählen und die häufigsten weiter zu betrachten. Das sollte mit Anfängerkenntnissen in Python keine Hexerei sein. Google verweist mich hierauf: https://www.statology.org/frequency-tables-python/

Diese Levenshtein-Distanz vergleicht immer nur 2 Zeichenketten, wenn ich das richtig sehe. Wo und wie kann man das für alle Zeichenketten berechnen oder habe ich da einen Denkfehler?


Hierarchische Clusteranalyse beruht auf einer Distanzmatrix. Dabei wird immer nur die Distanz zwischen je zwei Zeichenketten berechnet, aber eben für jede mögliche Kombination von zwei Abfolgen aus Deinen 168. Das hier scheint interessant zu sein: https://stackoverflow.com/questions/374 ... -in-python

Es ist lange her, dass ich mit Python herumgespielt habe und echte Datenanalyse habe ich da nie gemacht. Zur Clusteranalyse in Python kann ich daher nicht beitragen. Ich habe aber keinen Zweifel, dass sich das lösen lässt und dass man im Web schnell Hinweise dazu finden wird, wie sich das lösen lässt.

LG,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5774
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1356 mal in 1343 Posts

folgende User möchten sich bei bele bedanken:
arooon


Zurück zu Allgemeine Fragen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste

cron