New In

Odhad pružných poptávkových systémů

Nejdůležitější informace

  • Generování spline bázových funkcí pro více proměnných najednou

  • B-spline bázové funkce

  • Kusové polynomické bázové funkce

  • Omezené kubické spline bázové funkce

  • Výběr počtu uzlů, zadání seznamu uzlů nebo použití matice uzlů

Často nechceme u analyzovaných dat přijímat předpoklady o funkční formě. Můžeme chtít provést regresi výsledku na sadu regresorů, přičemž funkční forma regresorů nám může být lhostejná. Spline bázové funkce jsou flexibilní aproximací funkční formy regresorů. Můžeme také chtít vizualizovat vztah mezi výsledkem a regresorem nebo mezi proměnnými. K vizualizaci tohoto vztahu můžeme použít splajny bez nároku na linearitu nebo jiné funkční formy.

Ve Stata 18 lze použít nový příkaz makespline, který ze seznamu existujících proměnných vygeneruje B-spline, piecewise polynomial spline a restricted cubic spline bázové funkce. Můžeme například zadat příkaz

. makespline bspline x1 x2 x3 x4 ...x100

vytvořit 100 bázových funkcí třetího řádu B-spline, jednu pro každou proměnnou od x1 do x100. Nyní můžeme použít libovolnou z bázových funkcí k fitování modelu a být agnostičtí ohledně vztahu kovariát a výsledku zájmu. Nebo můžeme vizualizovat vztah výsledku zájmu a kterékoli ze složek bázové funkce, kterou makespline vygeneroval.

Podívejme se, jak to funguje

Rádi bychom zjistili vliv kouření matek (mbsmoke) na porodní hmotnost dítěte (bweight) pomocí příkazu telasso. Příkaz telasso nám umožňuje modelovat jak výsledek (bweight), tak léčbu (mbsmoke). Domníváme se, že existuje vztah mezi porodní hmotností a věkem matky (mage), dosaženým vzděláním matky (medu) a dosaženým vzděláním otce (fedu). Domníváme se také, že medu je dobrým prediktorem toho, zda matka během těhotenství kouří.

O funkční formě vztahu mezi hmotností b a mage, medu a fedu nemáme žádné informace. Stejně tak jsme agnostičtí ohledně vztahu mezi mbsmoke a medu. Na tom pro telasso nezáleží. Příkaz vybere ze souboru kandidátních kovariát a odhadne efekt ošetření, který nás zajímá.

K vytvoření bázových funkcí z jednotlivých kovariát zájmu použijeme makespline.

. makespline bspline mage medu fedu

Z mage, medu a fedu jsme vytvořili bázové funkce třetího řádu B-spline, z nichž každá se skládá z pěti proměnných. Vygenerované proměnné mají obecné systémové názvy začínající na _bsp. Pokud chcete, můžete názvy bází změnit pomocí volby basis(). Níže uvádíme vygenerované proměnné:

Komponenty B-spline bázové funkce z mage začínají s_bsp_1, z medu s _bsp_2 a z fedu s _bsp_3. Pomocí těchto bázových funkcí fitujeme model léčebných účinků:

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

bweight je libovolná funkce interakce (zadaná pomocí ##) základních funkcí pro mage a medu a základní funkce pro vzdělání otce. mbsmoke je libovolná funkce základní funkce pro vzdělání matky. Níže jsou uvedeny výsledky:

Proměnné základní funkce vytvořené pomocí makespline a jejich interakce daly 40 potenciálních kontrolních proměnných. telasso vybral 5 z těchto kontrolních proměnných a použil je k výpočtu efektu ošetření ve výši -263 gramů. Jinými slovy, porodní hmotnost dětí by byla o 263 gramů nižší, kdyby všechny matky kouřily, ve srovnání s kontrafaktuálním scénářem, kdy by žádná matka nekouřila.