Tuesday 21 November 2017

Generieren Stichproben In Stata Forex


Dilbert kommt von der Ungewißheit der Erzeugung von Zufallszahlen. Randomisieren und Auswählen eines Beispiels oder einer Unterprobe von Personen aus einem Datensatz sind Aktivitäten, die wir üblicherweise während der Datenanalyse durchführen müssen. Sie können z. B. Ihre Teilnehmer willkürlich in Behandlungs - und Kontrollgruppen einordnen. Oder Sie können in der Regressionsanalyse Daten aus einer zufällig ausgewählten Teilstichprobe Ihrer Teilnehmer verwenden, um das Regressionsmodell zu entwickeln und dann Daten von den verbleibenden Teilnehmern zur Validierung zu verwenden. Dieser Beitrag wird diskutieren, wie die Durchführung von Randomisierung und Stichproben in STATA. Schritt 1. Zuordnen von zufälligen Zahlen Ob wir Teilnehmer an Behandlungsgruppen zuordnen oder unsere Stichproben in Entwicklungs - und Validierungsuntersuchungen trennen, ist der erste Schritt, jedem einzelnen eine Zufallszahl zuzuordnen. Es gibt jedoch keine Möglichkeit, die Zufälligkeit zu simulieren, so dass STATA (wie alle anderen Softwarepakete) einen Zufallszahlengenerator verwendet, der einen Algorithmus verwendet, um 8220random8221 Zahlen zu erzeugen. Dies funktioniert groß, aber die Zahlen, die es erzeugt, wird jedes Mal anders sein, wenn Sie es verwenden. Wenn Sie möchten, dass Ihre Analyse genau wiederholbar ist, beginnen wir mit dem 8220seeding8221 den Zufallszahlengenerator mit einer bekannten Zahlenfolge (dies können Ihre Schüler-ID-Nummer, Ihr Mom8217-Geburtstag oder Ihre Telefonnummer sein). Eine erneute Seedierung des Generators mit dieser Zahl führt zu genau der gleichen Folge von Zufallszahlen. Wenn Sie sich um Wiederholbarkeit kümmern, können Sie diesen Schritt überspringen. Set Seed 03281986 Ich habe Lady Gaga8217s Geburtstag. Was auch immer Sie verwenden, notieren Sie es, falls Sie es wieder verwenden müssen. Nun, da unser Zufallszahlengenerator mit einer einprägsamen Zahl ausgesät wurde, weisen wir jedem Individuum im Datensatz eine Zufallszahl zu. Gen randomNumber runiform () Generieren Sie eine neue Variable 8220randomNumber8221 (oder was auch immer Sie es nennen möchten) mit einem zufälligen Wert zwischen 0 und 1. Okay, großartig. Wenn Sie den Data Viewer öffnen und einen Blick auf Ihren Datensatz werfen, sollte am Ende der Liste eine neue Variable mit Dezimalzahlen zwischen 0 und 1 für jede einzelne Person in Ihrem Datensatz stehen. Schritt 2. Sortierung Jetzt, dass jedes Individuum eine zufällige Zahl hat, wenn wir sie nach diesen Werten sortieren, werden die Daten in eine zufällige Reihenfolge oder einen randomisierten Schritt 3a sortiert. Equal Groups Wenn Sie Ihr Beispiel in Gruppen von gleicher Größe aufteilen möchten (in den obigen Beispielen entspricht dies der Zuteilung von Teilnehmern in Behandlungs - und Kontrollgruppen), können Sie dies einfach mit 8220group () 8221 mit dem Befehl generate: Gen groupID group (4) Generieren Sie eine neue Variable 8220groupID8221 (oder was auch immer Sie es nennen wollen), die Ihnen sagen, welche Gruppe die Person gehört. Die Anzahl innen von group8217s brackets gibt an, wie viele Gruppen Sie möchten, dass Ihre Probe in aufgeteilt werden (hier habe ich 4 Gruppen). Schritt 3b. Ungleiche Gruppen Es gibt auch Fälle, in denen Sie keine Gruppen gleicher Größe wollen. In den obigen Beispielen entspricht dies dem Szenario, in dem Sie die meisten Ihrer Daten verwenden, um ein Regressionsmodell zu entwickeln, und den verbleibenden Teil, um das Modell auszuprobieren. Die Verwendung von 8220group () 8221 wird in diesem Fall nicht funktionieren. Stattdessen werden wir STATA erklären, die ersten 30 zufällig sortierten Einzelpersonen unserer Entwicklungsgruppe zuzuweisen, und der Rest zu unserer Validierungsgruppe (ich tat 30, aber Sie können spezifizieren, welche Zahl Sie Ihre Probe sein möchten): genbyte developmentGroup n lt 30 Erstellen Sie eine binäre Variable (that8217s, was die 8220byte8221-Option tut) benannt 8220developmentGroup8221 (oder was auch immer Sie es nennen möchten), die Null für die ersten 30 von Personen in dem Datensatz sein wird. 8220n8221 ist STATA Kurzschrift für 8220each Person im Datensatz beginnend mit dem first8221. Schritt 4. Speichern und Verwenden von Teil-Samples in verschiedenen Datensätzen Dieser Schritt ist optional und ist wahrscheinlich nützlicher für die Entwicklung von Regression Modellen, wo Sie möchten, um loszuwerden, Ihre Validierung Sub-Sample, bauen Sie Ihr Modell mit Ihrem Entwicklungs-Sub - Probe, und bringen Sie dann Ihre Validierung Sub-Sample zurück nachher für die Validierung. Preserve Bewahrt den kompletten Datensatz, so dass wir zurückkehren können, um es später zu behalten, wenn developmentGroup 1 Hält die Personen, die in der Validierungsgruppe sind und fällt die gesamte Entwicklungsgruppen-Sub-Sample aus dem Datensatz. Save validationGroup Speichert die Validierungsunterprobe in ihrer eigenen validationGroup. dta-Datei, die wir später verwenden können. Restore Bringt uns zurück zu dem vollständigen Datensatz, den wir 8220preserved8221 halten, wenn developmentGroup 0 Hält die Personen, die in der Entwicklungsgruppe sind. Save developmentGroup Speichert die Entwicklungsunterprobe in einer eigenen developmentGroup. dta-Datei. Use developmentGroup Verwenden Sie diese Datei, um das Regressionsmodell zu entwickeln. Stoppt die permanente Änderung des gesamten Datensatzes. 8230 Modellierung durchführen validationGroup Nachdem Sie Ihr endgültiges Modell erreicht haben und bereit sind, den Befehl 8220predict8221 zu verwenden, rufen Sie Ihre Validierungsgruppe zurück. Auf diese Weise können Sie abhängige Variablenwerte für Ihre Validierungs-Sub-Sample-Teilnehmer mit dem Modell vorhersagen, das Sie mit Ihren Entwicklungs-Sub-Sample-Teilnehmern erstellt haben. Das Ziel dieses Beitrags war es, eine einfache Erläuterung zu liefern, wie man einen Datensatz ohne Austausch mit STATA zufällig abtasten kann. Ich hoffe, Sie finden es nützlich8230 Happy Stats-ingStata: Datenanalyse und statistische Software Ich habe einen Datensatz, und ich möchte eine oder mehrere zufällige Unterproben zu nehmen. Wie kann ich dies in Stata First tun, gehen wir durch die Lösung, wenn das das ganze Problem ist. Dann zeigen wir Lösungen an, wenn die Probenahme innerhalb jeder Gruppe von Kategorien durchgeführt werden soll. Es gibt zwei übergreifende Fragen: 1. Ist die Stichprobe mit oder ohne Ersatz zu entnehmen Wenn die Stichprobe mit dem Ersatz genommen werden soll, kann jede Beobachtung aus dem Datensatz in der Stichprobe nicht einmal, einmal oder mehrmals erscheinen. Was Sie wollen, kann einige Bootstrap oder ähnliche Resampling-Befehl, zum Beispiel Bootstrap oder bsample sein. Wenn die Probe ohne Ersatz genommen werden soll, kann jede Beobachtung aus dem Datensatz in der Stichprobe nicht oder nur einmal auftreten. Der Rest dieser FAQ basiert auf der Annahme, dass Sie ohne Ersatz austauschen und dass die Anzahl der Beobachtungen im Speicher groß genug ist, damit Sie eine oder mehrere Proben der angegebenen Größe auswählen können. Die Stata-Befehl Probe codifiziert einen Ansatz zur Auswahl eines Beispiels ohne Ersatz. Hier geht es darum, genügend Grundideen zu erläutern, mit denen Sie Ihre eigenen Stichproben nach Wunsch in Stata mit einer Kombination von elementaren Stata-Befehlen erstellen können. 2. Sind die Beobachtungen bereits durch eindeutige Bezeichner gekennzeichnet? Diese Bezeichner sind normalerweise Ganzzahl - oder String-Codes, die eine bestimmte Beobachtung festlegen, z. B. den Datensatz für eine bestimmte Person oder Organisation in Ihrem Dataset. Identifikatoren sind nicht essentiell für alle Probleme, aber Sie benötigen sie zum Beispiel, wenn Sie einige Beobachtungen aus einem großen Datensatz für die weitere Untersuchung wählen. Subtrahieren des Datensatzes ohne zusätzliche Unterteilung nach Kategorien Möchten Sie den gesamten Dataset oder nur einen Teil verwenden Wenn Sie nur einen Teil verwenden möchten, richten Sie eine Indikatorvariable ein, die den zu verwendenden Teil markiert Auf der rechten Seite der Zuweisung für die zu verwendenden Beobachtungen gilt. Die resultierende Indikatorvariable OK ist genau dann 1, wenn die Beobachtungen die angegebene Bedingung (und 0 sonst) erfüllen. Sorgfalt kann erforderlich sein, wenn fehlende Daten vorhanden sind: für numerische Variablen, fehlende Werte zählen so hoch wie jeder andere numerische Wert, so Alter gt 40 würde fehlende Altersgruppen enthalten. Daher sollten wir die zusätzliche Bedingung Alter lt. Bei der Erzeugung der Indikatorvariablen. Dieser Befehl erzeugt einen Satz von Pseudozufallszahlen aus einer gleichförmigen Verteilung auf 0,1). Wenn Sie Ihre Ergebnisse dokumentieren möchten oder wenn Sie sich um eine genaue Reproduzierbarkeit der Ergebnisse kümmern, dann setzen Sie das Samen explizit. Siehe Erzeugung und Funktionen. Mischen Sie Ihre Daten nach dem Zufallsprinzip, und teilen Sie sie in Gruppen auf. Sie können die Beobachtungen im Speicher sortieren, indem Sie die soeben erzeugten Zufallszahlen sortieren: Sie sind nun in der Lage, eine zufällige Stichprobe zu wählen. Nehmen Sie zum Beispiel an, dass Sie eine Stichprobe der Größe 100 wünschen. Dies können die ersten 100 oder die letzten 100 Beobachtungen zum Beispiel sein, wenn das Sampling nur innerhalb von Beobachtungen erfolgt, die in Ordnung sind. Wie oben, dann Wenn Sie zwei oder mehrere unterschiedliche zufällige Unterproben wollen, können Sie diesen Ansatz zu erweitern. Wenn Sie z. B. zwei gleichgroße Gruppen erstellen möchten, wird eine Variable mit zwei Kategorien, 1 und 2, mit etwa gleichen Zahlen in jeder Kategorie erstellt. Diese Werte zeigen die Teilproben 1 und 2 an. Wenn die Anzahl der Beobachtungen gleich ist, kann dies genau durchgeführt werden, während, wenn sie ungerade ist, sich die beiden Teilproben in der Grße um 1 unterscheiden. In den Daten wird ein Block von Beobachtungen verwendet Gruppe 1 ist, wird von einem Block gefolgt, für den Gruppe 2 ist. Um dies zu sehen Für drei oder mehrere Gruppen, verwenden Sie die anstelle von 2 erforderliche Zahl. Mit ähnlichen Ergebnissen. Für den komplizierteren Fall, in dem ausgewählt werden soll, müssen auch Musterbeobachtungen in Ordnung sein. Wenn Sie Gruppen von ungleicher Größe, dann in der Regel die Definition wird die Beobachtung n verwenden. Wenn Sie 1.000 Beobachtungen hatten und Sie in Unterabtastungen von 200 und 800 unterteilen wollten, dann könnte die Aussage n gt 200 falsch (0) für die ersten 200 Beobachtungen und wahr (1) für den Rest sein. Das Hinzufügen von 1 erzeugt eine kategorische Variable mit den Werten 1 und 2. Subjektierung des Datensatzes und auch innerhalb von Kategorien Das komplizierteste Problem, das hier betrachtet wird, wird an diesem Beispiel verdeutlicht: Wir wollen mit Menschen arbeiten, für die das Alter lt 40 ist (und nicht fehlen ). Wir haben Männchen und Weibchen und wollen jedes Geschlecht in zwei gleiche Gruppen unterteilen. Wieder einmal müssen wir vorsichtig sein, dass Gender fehlt. Setzen wir alle Ideen zusammen, erhalten wir mehrere Stata Ideen werden hier verwendet. Beim Sortieren zuerst auf OK werden alle Beobachtungen getrennt, die wir nicht verwenden möchten. Die zweite Sortierung nach Geschlecht sorgt für spätere gleiche Unterteilung innerhalb des Geschlechts. Sortierung zuletzt auf zufällige shuffles unsere Daten innerhalb dieser Kategorien. Schließlich erzeugt die Erzeugung der kategorischen Variablen innerhalb jeder Geschlechtsgruppe die zufällige Teilung. Als Ergebnis dieser Aussagen gibt es zwei Klassifikationen der Daten, nach Geschlecht und Gruppe. Für mehr als zwei Gruppen, ersetzen Sie 2 in der letzten Anweisung mit der erforderlichen Anzahl. In allen diesen Beispielen haben Stata-Befehle Variablen erzeugt, die die Beobachtungen in jeder Teilstichprobe identifizieren. Typischerweise besteht der nächste Schritt darin, Berechnungen für solche Unterabtastwerte durchzuführen. Beispielsweise geben Berechnungen für das von der Variablenbeispiele definierte Muster an, ob Beispiel 1 oder genauer Beispielbeispiel. Ähnlich können Berechnungen für die zwei oder mehr Proben, die durch die variable Gruppe definiert sind, Qualifizierer verwenden, wie zB Gruppe 1 oder Gruppe 2.

No comments:

Post a Comment