Inhaltsverzeichnis

Randomisierung mit Urnen

Die Verwendung der Urnen-Funktion erlaubt eine Zufallsziehung ohne Zurücklegen – das gewährleistet z.B., dass Experimentalgruppen gleich groß werden.

Dieses Kapitel beschreibt Schritt für Schritt, wie man eine Urne anlegt und einen Zettel (z.B. eine Zufallszahl) aus der Urne zieht. Die Verwendung des gezogenen Zettels zur Randomisierung beschreibt das Kapitel Randomisierung.

Wichtig: Für die meisten Anwendungsfälle ist ein Zufallsgenerator einfacher als Urnen. Wenn Sie die Teilnehmer eines Online-Experiments „einfach nur“ in unterschiedliche Gruppen einteilen möchten, die dann unterschiedliche Fragen, Bilder oder Texte vorgelegt bekommen, dann lesen Sie bitte bei Randomisierung weiter.

Wichtig: Urnen sind nur für wenige spezielle Anwendungsfälle die beste Lösung. Bitte lesen Sie unbedingt das Kapitel Randomisierung, bevor Sie hier weiterlesen (falls das dann überhaupt noch erforderlich sein sollte).

Ziehung ohne Zurücklegen

Eine Zufallsziehung „ohne Zurücklegen“ kann man sich als Ziehung aus einer Lostrommel („Urne“) vorstellen. Die Verwendung von Urnen in SoSci Survey garantiert annähernd gleich große Experimentalgruppen (wie auch der Zufallsgenerator). Im Kontext von Conjoint-Analysen kann eine Urne auch gewährleisten, dass vorgegebene Kombinationen gleich häufig gezogen werden.

Hinweis: Komplette Fragebögen lassen sich mit Urnen nicht randomisieren. Man kann also mit einer Urne nicht zwischen unterschiedlichen Fragebögen „wählen“. Damit man eine Urne verwenden kann, müssen alle Zufallsbedingungen mittels Filter in einem Fragebogen untergebracht werden (s. Randomisierung).

Wichtig: Prüfen Sie im technischen Pretest unbedingt, ob die Ziehungen in der Urne korrekt gezählt werden – insbesondere dann, wenn Sie die Kombinationen manuell ablegen.

Die wesentlichen Schritte zur Ziehung einer Zufallszahl mittels Urne sind wie folgt:

  1. Im Fragenkatalog eine neue Frage vom Typ interne Variablen anlegen (z.B. mit der Kennung IV01)
  2. Unter SpezialfunktionenRandomisierung mit Urnen eine Neue Urne anlegen, z.B. mit der Kennung („gruppe“) und den Zetteln 1, 2, 3 und 4 (jeweils eine Zahl in einer Zeile)
  3. Die eigentliche Zufallsziehung erfolgt dann mittels PHP-Code.
urnDraw('gruppe', 'IV01');

Hinweis: Bei der Funktion urnDraw() wird als zweiter Parameter nur die Kennung der Frage angegeben, nicht die Kennung der Variablen. So kann SoSci Survey je nach Inhalt der Urne entscheiden, ob nur eine Variable verwendet wird (falls nur ein Wert auf jedem Zettel steht) oder mehrere Variablen (falls Sie mit Kombinationen arbeiten).

Hinweis: Sie können entscheiden, ob der gezogene Zettel sofort verworfen wird oder erst später. Lesen Sie dazu die Referenz zur PHP-Funktion urnDraw().

Hinweis: Normalerweise wird die Urne wieder neu gefüllt, nachdem der letzte Zettel gezogen und abgelegt wurde. Falls Sie das nicht wünschen, können Sie es direkt bei der Ziehung unterbinden, s. urnDraw().

Eine Urne anlegen

Zunächst müssen Sie eine Urne anlegen. Eine Urne enthält mehrere Zettel – und auf jedem Zettel kann ein Wert (normalerweise eine Zahl) oder eine Kombination mehrerer Werte stehen.

Am häufigsten werden Urnen für die Einteilung von Teilnehmern in Experimentalgruppen verwendet. In diesem Fall empfiehlt sich eine Zahl pro Zettel. Wenn Sie 4 Gruppen haben, sieht der Inhalt der Urne einfach aus wie folgt:

1
2
3
4

Eine Gewichtung erreichen Sie, indem Sie eine Zeile mehrfach in die Urne schreiben. Mit der folgenden Urne würden doppelt so viele Teilnehmer in Gruppe 1 landen wie in Gruppe 2 oder 3:

1
1
2
3

Wenn Sie 3 Gruppen haben, wobei innerhalb der dritten Experimentalgruppe noch ein zweiter Faktor variiert werden soll, sähe der Inhalt der Urne aus wie folgt (hierbei handelt es sich nun um Kombinationen):

1, 0
1, 0
2, 0
2, 0
3, 1
3, 2

Hinweis: Damit sich Interviewpartner nicht nach Belieben einen Zettel aussuchen können, wird pro Interview nur einmal gezogen. Das heißt, dass Sie beim Testen durch Aktualisieren (Taste F5 im Browser bzw. „Seite neu Laden“) immer den gleichen Zettel bekommen werden. Um einen neuen Zettel zu bekommen, müssen Sie ein neues Interview starten.

Interne Variablen anlegen

Der gezogene Zettel bzw. die gezogene Kombination muss im Datensatz gespeichert werden. Dafür benötigen Sie interne Variablen.

Wichtig: Verwenden Sie diese Frage vom Typ „interne Variablen“ ausschließlich für die Urne. Auch wenn Sie weitere Variablen in der Frage anlegen können: Speichern Sie dort keine Werte mittels put() hinein, sondern legen Sie dafür ggf. eine weitere Frage an. Die Urnen-Ziehung wird nicht ausgeführt, falls in einer der Variablen in der Frage bereits ein Wert gespeichert wurde.

Einen Zettel aus der Urne ziehen

Im Fragebogen wird nun PHP-Code verwendet, um einen Zettel aus der Urne zu ziehen. Dafür steht die Funktion urnDraw() zur Verfügung. Der Inhalt des gezogenen Zettels (also eine einzelne Zufallszahl oder eine Kombination) wird in den internen Variablen abgelegt, die Sie vorab angelegt haben. Anschließend können Sie den/die gezogenen Wert/e in Filtern oder Platzhaltern verwenden (s. Randomisierung).

Beim Aufruf von urnDraw() benötigen Sie die Kennungen, die Sie oben notiert haben (Kennung der Urne, Kennung der „interne Variablen“-Frage). Außerdem müssen Sie entscheiden, wann der Zettel abgelegt wird. Normalerweise (keine Angabe oder 'now') wird der Zettel sofort abgelegt. Wenn die Teilnehmer in einer Versuchsgruppe systematisch häufiger abbrechen, hätten Sie in dieser Gruppe weniger vollständige Fragebögen. Falls Sie hier mit Problemen rechnen, verwenden Sie 'end' oder 'man' (s. Referenz zu urnDraw()).

Wichtig: Falls Sie den Zettel einer Urne manuell ablegen möchten (dritter Parameter 'man'), stellen Sie sicher, dass Sie auch die Funktion urnPutAway() verwenden.

urnDraw('gruppe', 'IV01');

Zur Verwendung der so gezogenen Zufallszahl (oder Kombination) lesen Sie bitte das Kapitel Randomisierung.