R语言 线性回归分析实例
y,X1,X2,X3 分别表示第 t 年各项税收收入(亿元),某国生产总值GDP(亿元),财政支出(亿元)和商品零售价格指数(%).
(1) 建立线性模型:
① 自己编写函数:
> library(openxlsx) > data = read.xlsx("22_data.xlsx",sheet = 1) > x = data[,-c(1,2)] > x = cbind(rep(1,17),x) > x_mat = as.matrix(x) > y =matrix(data[,2],ncol = 1) > res = solve(t(x_mat)%*%x_mat)%*%t(x_mat)%*%y > res[,1] rep(1, 17) 19412.8597818 X1 0.2679605 X2 -0.2874013 X3 -297.3653736
所以各参数的估计值分别为
② lm函数
> lm(y~x_mat)Call: lm(formula = y ~ x_mat)Coefficients:(Intercept) x_matrep(1, 17) x_matX1 19412.859781545 NA 0.267960511 x_matX2 x_matX3 -0.287401287 -297.365373557
于是各参数的估计值分别为
这两个方法的结果是一样的。
(2)要求实验报告中画出矩阵散点图,给出参数的点估计、区间估计、t检验值、判定系数和模型F检验的方差分析表
绘制矩阵散点图。
library(graphics) pairs(data[,-1]pch = 21,bg = c('red','green3','blue')) # pch参数是控制点的形状,bg是控制点的颜色
下面代码给出参数的点估计,t检验值,判定系数
> summary(lm(y~x_mat+1))Call: lm(formula = y ~ x_mat + 1) #调用Residuals: #残差统计量,残差第一四分位数(1Q)和第三分位数(3Q)有大约相同的幅度,意味着有较对称的钟形分布Min 1Q Median 3Q Max -4397.9 -1102.4 153.8 1184.4 2934.6 Coefficients: (1 not defined because of singularities) Estimate Std. Error t value Pr(>|t|) (Intercept) 1.941e+04 3.524e+04 0.551 0.591 x_matrep(1, 17) NA NA NA NA x_matX1 2.680e-01 4.466e-02 6.000 4.45e-05 *** x_matX2 -2.874e-01 1.668e-01 -1.723 0.109 x_matX3 -2.974e+02 3.688e+02 -0.806 0.435 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #标记为Estimate的列包含由最小二乘法计算出来的估计回归系数。#标记为Std.Error的列是估计的回归系数的标准误差。#从理论上说,如果一个变量的系数是0,那么该变量将毫无贡献。然而,这里显示的系数只是估计,它们不会正好为0.#因此,我们不禁会问:从统计的角度而言,真正的系数为0的可能性有多大?这是t统计量和P值的目的,在汇总中被标记为t value和Pr(>|t|) #P值估计系数不显著的可能性,有较大P值的变量是可以从模型中移除的候选变量 Residual standard error: 2013 on 13 degrees of freedom Multiple R-squared: 0.9982, Adjusted R-squared: 0.9977 F-statistic: 2348 on 3 and 13 DF, p-value: < 2.2e-16 #Residual standard error 表示残差的标准差,F-statistic 表示F的统计量
区间估计?方差分析表?
(3)保留模型中线性关系显著的预测变量确定最后的模型,并利用R软件中的"predict"语句预测2017年的税收收入
根据回归分析结果,只有变量X1具有显著性。所以模型中仅保留变量X1。
构造模型:
x_mat = cbind(rep(1,17),data[,3]) y = data[,2] res = lm(y~x_mat) res > resCall: lm(formula = y ~ x_mat)Coefficients: (Intercept) x_mat1 x_mat2 -6213.0189 NA 0.1915
该模型为:Y = -6213.0189 + 0.1915 X1
接下来预测2017年的税收收入,先根据数据data对 t 和 y 之间的关系进行回归分析
t = data[,1] y = data[,2] res = lm(y~t) res> resCall: lm(formula = y ~ t)Coefficients: (Intercept) t -16428607 8213
所以 t 与 y 的关系为:y = -16428607 + 8213 t
预测 2017 年的税收收入:
> newdata = data.frame(t = 2017) > pre = predict(res,newdata,interval = "prediction",level = 0.95) > prefit lwr upr 1 136337.8 116018.1 156657.4
转载于:https://www.cnblogs.com/jiaxinwei/p/11523752.html
R语言 线性回归分析实例相关推荐
- 【视频】什么是Bootstrap自抽样及应用R语言线性回归预测置信区间实例|数据分享
最近我们被客户要求撰写关于Bootstrap的研究报告,包括一些图形和统计输出. 自抽样统计是什么以及为什么使用它? 本文将自抽样方法与传统方法进行比较,并了解它为何有用.并在R语言软件中通过对汽车速 ...
- R语言——线性判别分析(LDA)
R语言--线性判别分析* 线性判别分析是一种经典的线性学习方法,在二分类问题上最早由Fisher在1936年提出,亦称Fisher线性判别.线性判别的思想非常朴素:给定训练样例集,设法将样例投影到一条 ...
- 【视频】什么是梯度下降?用线性回归解释和R语言估计GARCH实例
全文链接:http://tecdat.cn/?p=23606 梯度下降是一种优化算法,能够为各种问题找到最佳解决方案(点击文末"阅读原文"获取完整代码数据). 梯度下降是什么? 梯 ...
- [R语言基础]——数据处理实例
[R语言基础]--数据处理实例 前言 问题 Step1:建立数据框 Step2:计算综合得分 Step3:对学生进行评分 Step4:根据姓氏和名字排序 完整代码 前言 之前我们已经学习了R对数据预处 ...
- [Python] 一元线性回归分析实例
本文通过一个简单的例子:预测房价,来探讨怎么用python做一元线性回归分析. 1. 预测房价 房价是一个很火的话题,现在我们拿到一组数据,是房子的大小(平方英尺)和房价(美元)之间的对应关系,如下( ...
- python:一元线性回归分析实例: 基金净值
一元线性回归分析实例: 以沪深300指数基金净值为例 基金净值数据格式: date,jz,ljjz 2019-01-02,1.0194,1.0194 2019-01-03,1.0177,1.0177 ...
- python:一元线性回归分析实例:时间序列分段
一元线性回归分析实例:时间序列分段 以沪深300指数基金净值为例 基金净值数据格式:date,jz,ljjz 2019-01-02,1.0194,1.0194 2019-01-03,1.0177,1. ...
- 前馈神经网络_BP算法+R语言程序运行实例
前馈神经网络_BP算法+R语言程序运行实例 目录 关于神经网络的介绍 前馈神经网络 应用到机器学习 参数学习 误差反向传播 程序实例(R语言) 前言 今天是小白学习神经网络的第一次博客文章,希望以后的 ...
- 基于Python和R的多元线性回归分析实例
文章目录 实验目的 实验内容 分析影响因变量Y的主要影响因素及经济意义 建立散点图考察Y与每一个自变量之间的相关关系 Python R语言 建立多元回归模型,并计算回归系数和统计量 Python R语 ...
最新文章
- ubuntu 卡在 输入密码的界面 无法进入的解决办法
- 抛出运行时异常的目的_「JAVA」运行时异常、编译时异常、自定义异常,通过案例实践转译和异常链...
- Hadoop Hive概念学习系列之hive里的HiveQL——查询语言(十五)
- 【收藏】从 0 到 1 学习 elasticsearch ,这一篇就够了!
- [深度学习]生成对抗网络的实践例子
- Android源码-Logger日志系统
- JVM监控及诊断工具GUI篇之Arthas(四):monitor、watch、trace相关指令
- Mac的游戏开发配置环境笔记
- 核函数是什么-数据的升维与降维
- JixiPix Romantic Photo for Mac(照片浪漫效果软件)
- 末位淘汰!985高校硕士毕业拟新规:强制20%不通过或需大改?
- mysql水果销售系统数据库_mysql数据库水果销售系统
- oracle elsif和else if,ORACLE ELSIF 与 ELSE IF
- C/C++---字符分布分割得到数字,适用于STM32/ESP32等等
- Excel实现分时统计折线图
- Python变量,常量,基础数据类型,input用户交互
- C# 代码反编译、代码混淆与加壳工具
- 基于MPC 模型预测控制的轨迹跟随,横向控制模型,车道保持
- python数据挖掘培训课程-python数据挖掘需要学的内容
- java 获取复选框值