【问题标题】:Imposing a restriction on a piecewise model to ensure continuity in R对分段模型施加限制以确保 R 中的连续性
【发布时间】:2020-03-22 18:47:08
【问题描述】:

我有以下没有限制的拟合模型:

reg <- lm(y ~ indi_x + x + inter) 

其中indi_x = x > 14 的指示变量,inter = indi_x 和 x 的交互变量。

我想施加限制 indi_x + (inter * 14) = 0 以适应 x = 14 处的两个段。我一直在 lm 中使用 I() 函数,但没有得到输出 I想。

谢谢!

【问题讨论】:

    标签: r piecewise


    【解决方案1】:

    如果我理解正确,您有两个在 x = 14 处连接的斜率,并且您想推断各个斜率(可能还有公共截距?)

    这样就可以了:

    reg <- lm(y ~ 1 + x + x : I(x > 14))
    

    注意x * I(x &gt; 14) 现在是斜率的变化。所以第二段的绝对斜率是slope_2 - slope_1

    【讨论】:

    • 这与我在 SAS 中的输出很接近。在我的无限制模型中,两个段在 x = 14 处断开连接,因此我想施加限制以强制段在 x = 14 处连接在一起。lm 函数中的 1 表示什么?
    • 抱歉,我将答案更新为x : I(x &gt; 14) 而不是x * I(x &gt; 14)。这“迫使”仅在x = 14 处改变斜率。 1 是截距。所以y ~ 0 + x + x : I(x &gt; 14) 被“强制”从原点(x = 0, y = 0) 开始,而上面的模型可以从x = 0 的任何y 开始
    • 不幸的是,这也不行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 2020-01-26
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    相关资源
    最近更新 更多