基于Groupby的线性回归

2024-05-14 19:31:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个这样的测向仪:

Allotment   Year    NDVI     A_Annex    Bachelor
A_Annex     1984    1.0      0.40       0.60
A_Annex     1984    1.5      0.56       0.89
A_Annex     1984    2.0      0.78       0.76
A_Annex     1985    3.4      0.89       0.54
A_Annex     1985    1.6      0.98       0.66
A_Annex     1986    2.5      1.10       0.44
A_Annex     1986    1.7      0.87       0.65
Bachelor    1984    8.9      0.40       0.60
Bachelor    1984    6.5      0.56       0.89
Bachelor    1984    4.2      0.78       0.76
Bachelor    1985    2.4      0.89       0.54
Bachelor    1985    1.7      0.98       0.66
Bachelor    1986    8.9      1.10       0.44
Bachelor    1986    9.6      0.87       0.65

我想运行一个基于groupby的回归。我想回归每个唯一的Allotment及其NDVI值及其关联列。所以我想用AllotmentA_Annex及其关联的NDVI对列{}进行回归。然后我想用Bachelor做同样的事情。实际上,我希望将列与关联的Allotment匹配,然后用相应的NDVI值回归列中的值。在

我可以这样做一个分配如下:

^{pr2}$

但是我需要继续更改sp.stats.linregress(x['A_Annex'], x['NDVI']))中的x值,我希望避免这种情况。在


Tags: stats情况事情yearspgroupbyannexndvi
1条回答
网友
1楼 · 发布于 2024-05-14 19:31:46

你想要这样的东西吗?在

r = {annex: pd.ols(x=group['A_Annex'], y=group['NDVI']) 
     for annex, group in df.groupby('Allotment')}
>>> r

{'A_Annex': 
             -Summary of Regression Analysis            -

 Formula: Y ~ <x> + <intercept>

 Number of Observations:         7
 Number of Degrees of Freedom:   2

 R-squared:         0.3774
 Adj R-squared:     0.2529

 Rmse:              0.6785

 F-stat (1, 5):     3.0307, p-value:     0.1422

 Degrees of Freedom: model 1, resid 5

            -Summary of Estimated Coefficients            
       Variable       Coef    Std Err     t-stat    p-value    CI 2.5%   CI 97.5%
                                         
              x     1.9871     1.1415       1.74     0.1422    -0.2501     4.2244
      intercept     0.3731     0.9454       0.39     0.7094    -1.4798     2.2260
                 -End of Summary                -,
 'Bachelor': 
             -Summary of Regression Analysis            -

 Formula: Y ~ <x> + <intercept>

 Number of Observations:         7
 Number of Degrees of Freedom:   2

 R-squared:         0.0650
 Adj R-squared:    -0.1220

 Rmse:              3.4787

 F-stat (1, 5):     0.3478, p-value:     0.5810

 Degrees of Freedom: model 1, resid 5

            -Summary of Estimated Coefficients            
       Variable       Coef    Std Err     t-stat    p-value    CI 2.5%   CI 97.5%
                                         
              x    -3.4511     5.8522      -0.59     0.5810   -14.9213     8.0191
      intercept     8.7796     4.8467       1.81     0.1298    -0.7200    18.2792
                 -End of Summary                -}

然后可以提取模型参数,如下所示:

^{pr2}$

相关问题 更多 >

    热门问题