相关关系问题
在现实问题中,处于同一过程中的一些变量,往往是相互依赖和相互制约的,他们之间的相互关系大致可以分为两种:
1. 确定性关系——函数关系
2. 非确定性关系——相关关系
相关关系表现为这些变量之间有一定的依赖关系,但这种关系并不完全确定,他们之间的关系不能精确的用函数表示出来,这些变量其实是随机变量,或至少有一个是随机变量。
回归分析的内容
1. 提供建立有相关关系的变量之间的数学关系式(称为经验公式)的一般方法
2. 判断所建立的经验公式是否有效,并从影响随机变量的诸变量中判别哪些变量的影响是显著的,哪些是不显著的(重要)
3. 利用经验公式进行预测和控制
一元线性回归
任务:
1. 用试验值(样本值)对参数作点估计
2. 对回归系数作假设检验
3. 在x = x0 处对y作预测,对y作区间估计
matlab:[b,bint,r,rint,stats] = regress(Y,X)
b:参数
bint:参数的置信区间的范围
r:残差
rint:残差的置信区间的范围
stats:r方,f值,p_value值(p_value值<0.05就认为是显著的,即存在线性关系)
残差分析,作残差图
matlab:rcoplot(r,rint)
从残差图可以看出,除第二个数据外,其余数据,且残差的置信区间包含零点,这说明回归模型能较好地符合原始数据,第二个数据可视为异常点
多项式回归
r语言:fit1 = lm(y-x,data=xxx),fit2 = lm(y-x+I(x^2),data=xxx)
summary(fit1)
plot(fit1)\
多元回归
相关关系:cor(xxx)
热图:heatmap(cor(xxx))
非线性回归
1. 根据已知的数据绘制散点图,以此分析出数据的变换趋势,进而确定回归模型
2. 再根据确定的回归模型估计参数,matlab与r语言方法略有不同
matlab:
散点图:scatter(x,y,'filled')
求出回归系数:建立一个m文件,定义回归模型
function yhat = modelfun(beta,x)
yhat = beta(1)*x.^beta(2);
利用函数: [beta,r,j] = nlinfit(x',y'@modelfun,beta0),其中beta0是回归函数中参数的初值,事先需要定义,可以通过一两个点大概寻找beta(0),beta(1)的值,直接设为0也是ok的,返回值一个是beta,是参数的估计值,另一个是r也就是残差
betaci = nlparci(beta,r,j) 该函数求出beta的置信区间,不包含零点则说明是显著的
预测值(估计值):YY = nlpredci('modelfun',x',beta,r,j) j是雅可比矩阵可以不用管他
逻辑回归
适用于二值型变量