2017-12-29 14 views
2

私は、複数のノットを持ついくつかの独立変数を持つ多変数スプラインモデルをコーディングしようとしています。スプラインを持つ変数は常に1の次数を持ちます。私はいくつかのコードを持っていますが、私がrでスプライン回帰をしていないので信頼しているかどうかわかりません(独自の「ブラックボックス」ソフトウェアでのみ)。以下はコードです。度数1のスプラインモデルを異なる結び目でコーディングするにはどうすればよいですか?

私はスプラインで6,000の投稿の多くをチェックしました。私は混乱しているので、非常に多くの異なるコードを参照してください。

誰でもこのコードが私がしたいことをしているか(度= 1 /別の結び目) a)私に教えてください。 b)これを行うには良い方法がありますか?

fit1 <- glm(freq ~ channel + term2 + pay_plan_bucket_2 + 
      state + eff_year + marital_status + 
      vehicle_type + insured_age_bucket + I(pmax(0, insured_age_bucket- 
26)) + I(pmax(0, insured_age_bucket - 70)) + 
      vehicle_length_bucket + I(pmax(0, vehicle_length_bucket - 45)) + 
      veh_age + I(pmax(veh_age -7)) + I(pmax(veh_age - 18)) + 
      rba_bucket + I(pmax(0, rba_bucket - 3500)) + I(pmax(0, rba_bucket - 27000)) + 
      credit_tier_bucket + I(pmax(0, credit_tier_bucket - 3)), 
     family=quasipoisson(link="log"), 
     data=comp_training_set_newpayplan) 

ありがとうございます。

+0

これは、SO(最低限再現可能な例はありません)と統計情報コンパニオンCVの話題ではありません。それにもかかわらず、大雑把な検査は、コードが正しいことを私に示唆している。 [私の関連するCVポストをここに見る](https://stats.stackexchange.com/questions/225653/periodic-splines-to-fit-periodic-data/319760#319760)。 – AdamO

+0

私はそれらを正確にスプライン(またはノット)と呼ぶことはできないと思います。複数の「結び目」を持つときには連続していなくても、いずれの結び目でも微分可能ではありません。 –

+0

ありがとう@ 42。あなたは提案がありますか? – Jordan

答えて

1

スプラインに対するあなたのブルートフォースのアプローチはおそらく正しいでしょう。スプラインパッケージのbsを使用して出力を確認します。例:bs(credit_tier_bucket, knots=3, degree=1)を式の単一項として使用します。基底がここで行ったのとは異なる形で形成されるので、両方のモデルから予測値を集め、等価であることを確認してスプラインをコード化する2つのアプローチが同等の推定と推論を提供するようにします。

+0

ありがとう@AdamOです。あなたが言ったことをすると、当てはめられた値は近づいていますが、快適なほど近くにはありません。パターンが大きく見えなくても、残差の基本的なプロットはパターンに近いです。返信のためにいつものようにありがとう。 – Jordan

+0

@ Jordanもっと簡単で再現性のある例のためにあなたの投稿を編集したいかもしれません。 'boot' /' MASS'パッケージからの 'motor'データセットは良いものです。 – AdamO

関連する問題