1

データ内のしきい値に基づいて 2 つの異なる係数を使用する出力を予測する線形回帰モデルを作成したいと考えています。例: df:

Value   Temperature
 8.2     70
 3.2     51
 5.8     54
 7.2     61

等々。このデータについて、次のモデルを作成する方法を理解したいと思います。

値 = B0 + B1(高温) + B2(低温)

温度が 55 未満の場合は B1 が 0 で、温度が 55 を超える場合は B2 が 0 です。次のことを試しました。

fit = lm(Value ~ I(Temperature > 55), data = df)
fit2 = lm(Value ~ Temperature * I(Temperature > 55), data = df)

fit温度が 55 を超える場合の係数のみが表示され、fit2完全には理解できない出力が表示されます。HighorLowまた、温度が高いか低いかを示す指標変数 (1 または 0) を使用して、3 番目の列 を作成することも考えていました。私が持っているだろう:

fit = lm(Value ~ Temperature:HighorLow, data = df)

誰にも何か入力がありますか?助けていただければ幸いです。

4

2 に答える 2

0

これは、統計的に適切な 3 番目のアイデアの例です。あなたはそれを因数分解するのが正しかった.

> df <- data.frame(Value = runif(100, min = 0, max = 10), Temperature = runif(100, min = 50, max = 90))
> df$Threshold <- with(df, factor(ifelse(Temperature > 55, 1, 0)))
> m <- lm(Value ~ Threshold, data = df)
> summary(m)

Call:
lm(formula = Value ~ Threshold, data = df)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.9916 -2.1260  0.1069  2.4733  4.8550 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   5.4835     0.8155   6.724 1.19e-09 ***
Threshold1   -0.7074     0.8645  -0.818    0.415    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.705 on 98 degrees of freedom
Multiple R-squared:  0.006787,  Adjusted R-squared:  -0.003347 
F-statistic: 0.6697 on 1 and 98 DF,  p-value: 0.4151    
于 2015-02-06T18:14:14.783 に答える