Splajny v glm

Splajny v glm

von Petra Štarmanová -
Number of replies: 1

Dobrý den,

 

narazila jsem na problém, když jsem se pokusila použít splajny v aktuálním úkolu. Chtěla jsem použít splajny na vyjádření efektu tabáku (a později jsem to se stejným výsledkem zkoušela použít i jinde).

Našla jsem si na Vaší stránce předmětu Lineární regrese z minulého semestru jak se se splajny v R pracuje a pokoušela se to dělat stejně - přikládám R script. Ve výsledném modelu se splajny v summary() obsahuje v jednom řádku pouze hodnoty 'N/A'. Pokud pořadí vysvětlujících proměnných v modelu změním, změní se i řádek, ve kterém jsou 'N/A' hodnoty - je to vždy poslední kategorie druhé vysvětlující proměnné (viz přiložený obrázek).

Co dělám špatně? Dají se splajny použít společně s kategorickými proměnnými? 

 

Předem díky za rady.

 

Petra Š.

Attachment Splajny_obrázek.jpg
In reply to Petra Štarmanová

Re: Splajny v glm

von Arnošt Komárek -

Špatně neděláte vlastně nic. Pouze R dělá něco, co asi nečekáte. Věc se má tak, že jakmile máte v modelu odebraný intercept (-1), tak R automaticky parametrizuje první zahrnutou kategoriální proměnnou pomocí dummy proměnných pro VŠECHNY kategorie (ono to někdy má dobrý důvod, zde však nikoliv). Tím vám tam vznikne druhý implicitní intercept (jeden už tam je od těch splinů), R na to přijde při odhadování a jednu nadbytečnou dummy proměnnou (pro poslední kategorii) si zase z matice modelu odebere. Tím vzniknou ty NA ve výstupu. Jinak je ale všechno správně (odhady ostatních koeficientů, std. chyby, deviance, ...). Takže stačí, když si za NA dosadíte u příslušného koeficientu nulu (která se neodhaduje) a vše je v pořádku.