问题
制作一元材积表,不懂林学的可能不知道,如图,也就是构造材积和胸径间的关系,这里采用了python的一元线性回归方法(本人用spss做了幂函数非线性回归,效果最好)。
Python方差分析
- 导入库和数据
from sklearn import linear_model
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df1 = pd.read_excel('C:/Users/Administrator/Desktop/一元材积表.xlsx')
- 绘制散点图
X = np.array(df1[['胸径']])
Y = np.array(df1[['材积']])
plt.rc('font',family='STXihei',size=15)
plt.scatter(X,Y,60,color='blue',marker='o',linewidths=3,alpha=0.4)
plt.xlabel('胸径')
plt.ylabel('材积')
plt.title('一元材积表')
plt.show()
可以看出,用一元线性回归是不太理想的,不过为了给老师交作业,还是做一下好了。
- 一元回归模型
clf = linear_model.LinearRegression()
clf.fit(X,Y)
print(clf.coef_,clf.intercept_)
print(clf.score(X,Y))
结果如图
结论
R2不高,模型并不太好。