New In

Schätzung von Systemen mit flexibler Nachfrage

Höhepunkte

  • Erzeugen von Spline-Basisfunktionen für mehrere Variablen auf einmal

  • B-Spline-Basisfunktionen

  • Stückweise polynomiale Basisfunktionen

  • Eingeschränkte kubische Spline-Basisfunktionen

  • Wählen Sie die Anzahl der Knoten, geben Sie eine Knotenliste an, oder verwenden Sie eine Knotenmatrix

Oft wollen wir keine Annahmen über die funktionale Form der zu analysierenden Daten machen. Es kann sein, dass wir eine Regression eines Ergebnisses auf eine Reihe von Regressoren anpassen möchten und die funktionale Form der Regressoren nicht kennen. Spline-Basisfunktionen sind flexible Annäherungen an die funktionale Form der Regressoren. Möglicherweise möchten wir auch die Beziehung zwischen einem Ergebnis und einem Regressor oder zwischen Variablen visualisieren. Wir können Splines verwenden, um diese Beziehung zu visualisieren, ohne Linearität oder andere funktionale Formen zu beanspruchen.

In Stata 18 können Sie den neuen Befehl makespline verwenden, um B-Spline-, stückweise polynomiale Spline- und eingeschränkte kubische Spline-Basisfunktionen aus einer Liste vorhandener Variablen zu erzeugen. Wir könnten zum Beispiel Folgendes eingeben

. makespline bspline x1 x2 x3 x4 ...x100

um 100 B-Spline-Basisfunktionen dritter Ordnung zu bilden, eine für jede Variable von x1 bis x100. Wir können nun eine beliebige Basisfunktion zur Anpassung eines Modells verwenden und sind unabhängig von der Beziehung zwischen den Kovariablen und dem interessierenden Ergebnis. Oder wir können die Beziehung zwischen dem interessierenden Ergebnis und einer der von makespline generierten Basisfunktionskomponenten visualisieren.

Wir wollen sehen, wie es funktioniert

Wir möchten den Effekt des Rauchens der Mütter (mbsmoke) auf das Geburtsgewicht (bweight) eines Säuglings mit Hilfe des telasso-Befehls untersuchen. Mit dem Befehl telasso können wir sowohl das Ergebnis (bweight) als auch die Behandlung (mbsmoke) modellieren. Wir gehen davon aus, dass es eine Beziehung zwischen dem Geburtsgewicht und dem Alter der Mutter (mage), dem Bildungsgrad der Mutter (medu) und dem Bildungsgrad des Vaters (fedu) gibt. Wir glauben auch, dass medu ein guter Prädiktor dafür ist, ob eine Mutter während der Schwangerschaft raucht.

Über die funktionale Form der Beziehung zwischen bweight und mage, medu und fedu sind wir uns nicht im Klaren. Auch über die Beziehung zwischen mbsmoke und medu sind wir uns nicht im Klaren. Für telasso spielt dies keine Rolle. Der Befehl wählt aus einer Reihe von möglichen Kovariaten aus und schätzt den gewünschten Behandlungseffekt.

Wir verwenden makespline, um Basisfunktionen aus jeder der interessierenden Kovariaten zu bilden.

. makespline bspline mage medu fedu

Wir haben B-Spline-Basisfunktionen dritter Ordnung, die jeweils aus fünf Variablen bestehen, aus mage, medu und fedu erzeugt. Die generierten Variablen haben generische Systemnamen, die mit _bsp beginnen. Wenn Sie möchten, können Sie die Basisnamen mit der Option basis() ändern. Im Folgenden werden die generierten Variablen gezeigt:

Die B-Spline-Basisfunktionskomponenten von mage beginnen mit_bsp_1, von medu mit _bsp_2 und von fedu mit _bsp_3. Mit diesen Basisfunktionen passen wir das Modell der Behandlungseffekte an:

. telasso (bweight c._bsp_1*##c._bsp_2* _bsp_3*) (mbsmoke _bsp_2*)

bweight ist eine beliebige Funktion der Interaktion (angegeben durch ##) der Basisfunktionen für mage und medu und der Basisfunktion für die Bildung des Vaters. mbsmoke ist eine beliebige Funktion der Basisfunktion für die Bildung der Mutter. Nachfolgend sind die Ergebnisse aufgeführt:

Die von makespline erstellten Basisfunktionsvariablen und ihre Interaktionen ergaben 40 potenzielle Kontrollvariablen. telasso wählte 5 dieser Kontrollvariablen aus und verwendete sie, um einen Behandlungseffekt von -263 Gramm zu berechnen. Mit anderen Worten: Das Geburtsgewicht der Babys wäre um 263 Gramm geringer, wenn alle Mütter rauchen würden, im Vergleich zu einer kontrafaktischen Situation, in der keine Mutter raucht.