Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:create:random_questionnaire [29.01.2015 18:14] – Verweis auf Variable QUESTNNR adminde:create:random_questionnaire [07.09.2022 08:11] (aktuell) admin
Zeile 1: Zeile 1:
 ====== Zufallsauswahl für Fragebögen ====== ====== Zufallsauswahl für Fragebögen ======
  
-In einem Befragungsprojekt kann man mehrere Fragebögen anlegen (**Fragebogen zusammenstellen** -> Karteireiter //Weitere Fragebögen//). Ruft der Teilnehmer den [[:de:survey:url|Link zum Fragebogen]] auf, kann man ihn zufällig einem der Fragebögen zuweisen. Um dies zu erreichen, stehen unter **Fragebogen zusammenstellen** → Karteireiter //Weitere Fragebögen// -> //Zufallsauswahl für Fragebögen// die unten erläuterten Optionen zur Auswahl.+In einem Befragungsprojekt kann man mehrere Fragebögen anlegen (**Fragebogen zusammenstellen** -> **Neuen Fragebogen erstellen** bzw. **Fragebögen verwalten**). Ruft der Teilnehmer den [[:de:survey:url|Link zum Fragebogen]] auf, kann man ihn zufällig einem der Fragebögen zuweisen.
  
-**Wichtig:** Die zufällig Auswahl von Fragebögen ist mit Einschränkungen verbunden (s. Hinweiseund __nur in wenigen__ Ausnahmefällen sinnvollIn aller Regel ist eine reguläre [[randomization|Randomisierung]] deutlich sinnvoller.+**Warnung:** Wenn Sie eine Randomisierung über unterschiedliche Fragebögen realisieren, kann es durch systematische Abbrecher zu einer (mitunter deutlichungleichen Verteilung bei den abgeschlossenen Fragebögen kommenVerwenden Sie nur einen Fragebogen mit [[:de:create:randomization]] des Stimulus, um die Experimentalgruppen zuverlässig gleichmäßig zu füllen (s. auch folgender Hinweis).
  
 +**Warnung:** Wenn die Experimentalgruppen in unterschiedliche Fragebögen bearbeiten, muss man besonders genau darauf achten, dass die Fragebögen vom Treatment abgesehen identisch sind. Wird z.B. nach dem Pretest eine Änderung nur in einem der Fragebögen vorgenommen, kann dies zu einer Konfundierung führen und dazu, dass man die Daten nicht mehr verwenden kann. Die "normale" [[:de:create:randomization]] ist hier weniger fehleranfällig.
  
-===== Hinweise =====+**Hinweis:** Für Experimente ist es in aller Regel deutlich (!) einfacher, nur einen Fragebogen anzulegen und mit einem kleinen PHP-Code den Stimulus zu variieren ([[:de:create:randomization]]). Dieses Vorgehen hat u.a. auch den Vorteil, dass man eine Gleichverteilung in //abgeschlossenen// Fragebögen realisieren kann.
  
-Die Auswahl oder Zufallsauswahl erfolgt immer dann, wenn das Projektverzeichnis ohne Angabe eines speziellen Fragebogens ausgewählt wird ([[:de:survey:url]]). Diese Adresse (URL) ist unter **Befragungsprojekt** -> **Projekt-Einstellungen** -> //Projektverzeichnis// zu finden. 
  
-Bei einer uneingeschränkten Zufallsauswahl werden die unterschiedlichen Bedingungen meist ungleichmäßig (!) oft gezogen. Verteilt man 100 Personen zufällig auf 5 Gruppen, so könnten die Gruppen z.B. wie folgt verteilt sein: 32, 7, 13, 28, 20. Je größer die Teilgruppen, desto unwahrscheinlicher (nicht unmöglich!) werden überproportionale Abweichungen. Benötigt man zuverlässig gleich große Gruppen, ist eine [[random_urns|Randomisierung mit Urnen]] innerhalb eines Fragebogens das Mittel der Wahl.+===== Vorgehen =====
  
-Auch bei der gewichteten Zufallsauswahl gilt: Eine Annäherung an die gewünschte Verteilung erfolgt in aller Regel erst im Bereich großer Zahlen (N > 1000)Und auch dann sind statistische Ausreißer noch möglich.+Zunächst legen Sie unter **Fragebogen zusammenstellen** -> **Neuen Fragebogen erstellen** einen zusätzlichen Fragebogen  an, welcher sich um die zufällige Verteilung kümmertDie Kennung können Sie frei wählen, für die folgende Beschreibung verwenden wir die Kennung "random".
  
-Im Datensatz wird in der Variable ''QUESTNNR'' ([[:de:results:variables]]) stets vermerkt, welchen Fragebogen ein Teilnehmer ausgefüllt. Dies gilt für die explizite Auswahl des Fragebogens im Link genauso wie für die zufällige Auswahl eines Fragebogens.+Legen Sie diesen Fragebogen "random" unter **Fragebogen zusammenstellen** -> **Fragebögen verwalten** als Standard-Fragebogen fest.
  
 +{{:de:create:scr.random-questionnaire.questionnaires.png|Fragebögen für die Zufallsauswahl}}
  
-===== Einen Fragebogen als Standard festlegen =====+Um eine gleichmäßige Verteilung der Teinehmer auf die Fragebögen zu gewährleisten, benötigen Sie eine Frage vom Typ [[:de:create:questions:random]]. Sie können diese Frage in einer beliebigen Rubrik anlegen -- für die weitere Beschreibung wird angenommen, dass diese Frage die Kennung "RF01" hat.
  
-Wählt man diese Option, wird einer der Fragebögen fest ausgewähltDer Link zum Befragungsprojekt führt dann stets zum selben Fragebogen -- außer wenn ein anderer Fragebogen im Link explizit angegeben wurde.+{{:de:create:scr.random-questionnaire.random-create.png|Zufallsgenerator erstellen}}
  
-Wenn im Befragungsprojekt nur ein Fragebogen existiertdann wird dieser Fragebogen immer als Standard verwendet.+Tragen Sie die Kennungen der Fragebögen (s. oben), zwischen denen Sie auswählen möchten, als //Zettel// in den Zufallsgenerator ein und speichern Sie die Frage ({{:button.save.png|Frage speichern}}).
  
 +Lassen Sie bei //Art der Ziehung// die Voreinstellung "Gleichverteile Ziehung" ausgewählt. Die Option "Gleichverteilung in abgeschlossenen Fragebögen" wird //nicht// funktionieren, weil der Fragebogen zur Zufallsverteilung nie abgeschlossen wird.
  
-===== Zufällige Auswahl unter markierten Fragebögen =====+{{:de:create:scr.random-questionnaire.random-contents.png|Zufallsgenerator für die Auswahl des Fragebogens}}
  
-Bei dieser Option kann man einen oder mehrere Fragebögen auswählen. Wird die URL ohne Spezifikation des Fragebogens (s.o.aufgerufen, so wird einer der markierten Fragebögen zufällig ausgewählt.+Öffnen Sie den Fragebogen, welchen Sie für die zufällige Verteilung angelegt haben ("random"unter **Fragebogen zusammenstellen** zum Bearbeiten.
  
-**Wichtig:** Eine uneingeschränkte Zufallsauswahl führt in aller Regel dazu, dass die Fragebögen unterschiedlich häufig aufgerufen werden. Bitte beachten Sie dazu auch die Hinweise oben.+  - Ziehen Sie den Zufallsgenerator (RF01) auf die erste (und einzige*) Seite des Fragebogens und 
 +  - platzieren Sie darunter folgenden [[:de:create:php|PHP-Code]].
  
 +<code php>
 +$qnr = value('RF01', 'label');
 +goToQuestionnaire($qnr);
 +</code>
  
-===== Gewichtete Zufallsauswahl =====+** *Tipp:** Als Variante zum o.g. Vorgehen können Sie im Fragebogen "random" auch zwei Seiten anlegen. Auf der ersten Seite platzieren Sie die Begrüßung. Der Zufallsgerenator und der PHP-Code folgen dann erst auf der zweiten Seite. Das hat den großen Vorteil, dass Abbrecher auf der Begrüßungsseite (dort wird der Fragebogen mit Abstand am häufigten geschlossen) die Ziehung nicht verzerren.
  
-Eine Erweiterung der Zufallsauswahl stellt die gewichtete Zufallsauswahl dar. Das Prinzip ist dasselbe wie bei der ZufallsauswahlAus den Fragebögen, für die eine Gewichtung (also nicht 0) angegeben ist, wird zufällig einer ausgewählt.+Die Funktion ''[[:de:create:functions:value]]'' ruft die Kennung des zufällig gezogenen Fragebogens aus dem Zufallsgerator ab. Die Funktion [[:de:create:functions:gotoquestionnaire]] springt direkt zu dem Fragebogen mit der entsprechenden Kennung.
  
-Dabei werden Fragebögen mit einem höheren Gewicht mit entsprechend höherer Wahrscheinlichkeit ausgewählt. Welche Zahlen man eingibt, ist egal, es geht um die RelationEin Fragebogen mit dem Gewicht 2 wird (etwa) doppelt so häufig ausgewählt wie einer mit dem Gewicht 1Ein Fragebogen mit dem Gewicht 66 wird etwa doppelt so häufig ausgewählt wie ein Fragebogen mit Gewicht 33.+{{:de:create:scr.random-questionnaire.questionnaire.png|Fragebogen zur zufälligen Auswahl anderer Fragebögen}} 
 + 
 +Den Fragebogen "random" haben Sie unter **Fragebogen zusammenstellen** -> **Fragebögen verwalten** als Standard-Fragebogen für das Befragungsprojekt ausgewählt. Die Teilnehmer können den [[:de:survey:url]] also ohne weitere Parameter (''q=...'') aufrufen. Sie gelangen dann zunächst zum Fragebogen "random" und werden von dort zufällig auf einen der anderen beiden Fragebögen verteilt. 
 + 
 + 
 +===== Gewichtete Auswahl ===== 
 + 
 +Falls einige Fragebögen häufiger ausgewählt werden sollen als andere (höhere Gewichtung in der Zufallsauswahl), tragen Sie deren Kennungen bitte einfach mehrfach im Zufallsgenerator ein. 
 + 
 +Der folgende Zufallsgenerator würde z.B. den Fragebogen "control" doppelt so häufig aufrufen wie "order1", "order2" oder "order3". 
 + 
 +<code> 
 +1 control 
 +2 control 
 +3 order1 
 +4 order2 
 +5 order3 
 +</code> 
 + 
 + 
 +===== Zusammenspiel mit externen Panels ===== 
 + 
 +Wenn man die Teilnehmerinnen und Teilnehmer über ein externes Panel rekrutiert, muss man in aller Regel einen Teilnahmecode im Redirect übermitteln: [[:de:survey:panels]] 
 + 
 +Sobald ''[[:de:create:functions:gotoquestionnaire]]'' zum Einsatz kommt, wird ein neuer Fall im Datensatz erzeugt. In diesem (neuen) Interview hat man keinen Zugriff mehr auf die Daten, die im ursprünglichen Fragebogen (hier z.B. "random") erhoben wurden. Das gilt auch für einen Teilnahmecode, der eventuell via URL vom Panel-Anbieter übergeben wurde. 
 + 
 +Damit es dennoch funktioniert, muss man den Teilnahmecode explizit an das untergeordnete Interview durchreichen. Dafür kommt die Funktion ''[[:de:create:functions:multileveldown]]'' zum Einsatz. Wenn der Teilnahmecode als Referenz (REF) übergeben wurde, würde das aussehen wie folgt. 
 + 
 +<code php> 
 +$qnr = value('RF01', 'label'); 
 +multiLevelDown($qnr, reference()); 
 +</code> 
 + 
 +Im untergeordneten Fragebogen kann man dann mittels ''[[:de:create:functions:multileveldata]]'' auf den übergebenen Code zugreifen. Im Redirect würde dann nicht mehr direkt die Referenz verwendet ... 
 + 
 +<code php> 
 +redirect('https://www.panelanbieter.de/complete?xyz=ABCDEF&uid=%reference%'); 
 +// bzw. gleichbedeutend 
 +redirect('https://www.panelanbieter.de/complete?xyz=ABCDEF&uid='.reference()); 
 +</code> 
 + 
 +... sondern die Daten, die von ''multiLevelDown()'' übergeben wurde, also 
 + 
 +<code php> 
 +redirect('https://www.panelanbieter.de/complete?xyz=ABCDEF&uid='.multiLevelData()); 
 +</code> 
 + 
 + 
 +==== Mehrere Variablen übergeben ==== 
 + 
 +Fall neben der Panel-ID noch weitere Variablen übergeben werden sollen, können diese gemeinsam als [[:de:create:array|Array]] in ''multiLevelDown()'' an den nachgelagerten Fragebogen übergeben werden. 
 + 
 +Der nachfolgende Code verwendet String-Schlüssel für die Variablen (''%%'panelID'%%'', ''%%'userID'%%'' u.s.w.) -- das dient vor allem der besseren Verständlichkeit. 
 + 
 +<code php> 
 +// Zufallsauswahl für einen Fragebogen 
 +$qnr = value('RF01', 'label'); 
 +// Daten zusammenfassen 
 +$data = [ 
 +    'panelID' => reference(), 
 +    'userID'  => value('RV01x01'), 
 +    'AB01_01' => value('AB01_01'), 
 +    'AB01_02' => value('AB01_02'
 +]; 
 +// Daten übergeben 
 +multiLevelDown($qnr, $data); 
 +</code> 
 + 
 +Um untergeordneten Fragebogen können die Daten wieder auf einzelne Variablen verteilt werden. 
 + 
 +<code php> 
 +$data = multiLevelData(); 
 +put('IV01_01', $data['panelID']); 
 +put('IV01_02', $data['userID']); 
 +// Die Filtervariablen werden hier direkt in die Filterfragen gespeichert 
 +put('AB01_01', $data['AB01_01'], true); 
 +put('AB01_02', $data['AB01_02'], true); 
 +</code> 
 + 
 +Die Weiterleitung kann auf die in ''%%'IV01_01'%%'' abgelegte Panel-ID zugreifen. 
 + 
 +<code php> 
 +redirect('https://www.panelanbieter.de/complete?xyz=ABCDEF&uid='.value('IV01_01')); 
 +</code>
de/create/random_questionnaire.1422551655.txt.gz · Zuletzt geändert: 29.01.2015 18:14 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki