干预分析模型- China GDP

2023-11-09

干预分析模型 - GDP预测

加载pandas、matplotlib等包,处理时间序列

import pandas as pd
import numpy as np
import matplotlib.pylab as plt

%matplotlib inline
# 解决坐标轴刻度负号乱码
plt.rcParams['axes.unicode_minus'] = False
# 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Simhei']

from matplotlib.pylab import rcParams
rcParams['figure.figsize'] = 15, 6

import warnings
warnings.filterwarnings("ignore")

读入数据

data = pd.read_csv('China GDP 1980-2016.csv')
data.head()
Year GDP
0 2016 743585.5
1 2015 689052.1
2 2014 643974.0
3 2013 595244.4
4 2012 540367.4
data.dtypes
Year      int64
GDP     float64
dtype: object
data.columns
Index(['Year', 'GDP'], dtype='object')

Year 是int64类型,在时间序列分析中,我们需要现将数据转化为时间序列

dateparse = lambda dates: pd.datetime.strptime(dates, '%Y')
dateparse('1962')
datetime.datetime(1962, 1, 1, 0, 0)
df = pd.read_csv('China GDP 1980-2016.csv', parse_dates=['Year'], index_col='Year', date_parser=dateparse)
df.head()
GDP
Year
2016-01-01 743585.5
2015-01-01 689052.1
2014-01-01 643974.0
2013-01-01 595244.4
2012-01-01 540367.4
# 检查索引格式
df.index
DatetimeIndex(['2016-01-01', '2015-01-01', '2014-01-01', '2013-01-01',
               '2012-01-01', '2011-01-01', '2010-01-01', '2009-01-01',
               '2008-01-01', '2007-01-01', '2006-01-01', '2005-01-01',
               '2004-01-01', '2003-01-01', '2002-01-01', '2001-01-01',
               '2000-01-01', '1999-01-01', '1998-01-01', '1997-01-01',
               '1996-01-01', '1995-01-01', '1994-01-01', '1993-01-01',
               '1992-01-01', '1991-01-01', '1990-01-01', '1989-01-01',
               '1988-01-01', '1987-01-01', '1986-01-01', '1985-01-01',
               '1984-01-01', '1983-01-01', '1982-01-01', '1981-01-01',
               '1980-01-01'],
              dtype='datetime64[ns]', name='Year', freq=None)
# 转化为时间序列数据
ts = df['GDP'].sort_index()
ts.head()
Year
1980-01-01    4587.6
1981-01-01    4935.8
1982-01-01    5373.4
1983-01-01    6020.9
1984-01-01    7278.5
Name: GDP, dtype: float64

拆分数据为训练集和测试集

min(ts.index), max(ts.index)
(Timestamp('1980-01-01 00:00:00'), Timestamp('2016-01-01 00:00:00'))
train = ts['1980':'1997']
test = ts['1998':'2006']

平稳性检验

绘制时序图

# Plotting data
train.plot(figsize=(20,6), fontsize=14, label="train")
test.plot(figsize=(20,6), title= 'GDP', fontsize=14, label="test")
plt.show()

[外链图片转存失败(img-xLpGUy3F-1562729294200)(output_16_0.png)]

平稳性检验

from statsmodels.tsa.stattools import adfuller


def test_stationarity(timeseries):
    # Perform Dickey-Fuller test:
    print('Results of Dickey-Fuller Test:')
    dftest = adfuller(timeseries, autolag='AIC')
    dfoutput = pd.Series(dftest[0:4], index=['Test Statistic','p-value','#Lags Used','Number of Observations Used'])
    for key,value in dftest[4].items():
        dfoutput['Critical Value ({})'.format(key)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

干预分析模型- China GDP 的相关文章

  • 作为一个上班族,有哪些Python兼职项目?兼顾练手和创收?

    普通人学Python有意义吗 Python作为一种跨平台的计算机程序设计语言 近些年来越来越受到企业和IT从业者的青睐 那么 普通人是否需要学习Python呢 学会Python有什么意义呢 今天小编就和大家聊一聊这个话题 Python有效提
  • matlab 层次聚类

    MATLAB的统计工具箱中的多元统计分析中提供了聚类分析的两种方法 1 层次聚类 hierarchical clustering 2 k means聚类 这里用最简单的实例说明以下层次聚类原理和应用发法 层次聚类是基于距离的聚类方法 MAT
  • 现代博弈论与多智能体强化学习系统

    如今 大多数人工智能 AI 系统都是基于处理任务的单个代理 或者在对抗模型的情况下 是一些相互竞争以改善系统整体行为的代理 然而 现实世界中的许多认知问题是大群人建立的知识的结果 以自动驾驶汽车场景为例 任何座席的决策都是场景中许多其他座席
  • 【数据采集】获取网站数据(二)

    获取网站数据 二 1 常用的数据采集python库 Beautiful Soup https www crummy com software BeautifulSoup bs4 doc zh pyspider http docs pyspi
  • R 与甲骨文数据挖掘

    特点 使用 Oracle Data Miner 和 Oracle R Enterprise 自动化预测分析过程 深入了解企业中常用的各种统计模型 以及如何使用各种 SQL PLSQL ORE ODM 和本机 R 包将它们自动化以进行预测分析
  • 主流ETL工具汇总

    一 kettle 说明 是国外开源ETL工具 支持数据库 FTP 文件 rest接口 hdfs hive等平台的灵敏据进行抽取 转换 传输等操作 Java编写跨平台 C S架构 不支持浏览器模式 特点 易用性 有可视化设计器进行可视化操作
  • Python探索性数据分析畅销书

    探索性数据分析 探索性数据分析 EDA 是一种分析和调查数据集以了解数据特征的方法 数据集 查看数据集示例 有许多与 2009 年至 2019 年在销售的畅销书的标题和作者相关的信息 除了标题和作者之外 数据中还有其他元素 例如用户评分 评
  • D3交互式可视化Python自然语言工具包命名实体识别

    命名实体识别 NER 可能是信息提取的第一步 旨在将文本中的命名实体定位和分类为预定义的类别 例如人名 组织 位置 时间表达 数量 货币价值 百分比 等 NER 在自然语言处理 NLP 的许多领域都有使用 它可以帮助回答许多现实世界的问题
  • 【Pycharm教程】推荐一些 PyCharm 中常用的插件

    工欲善其事 必先利其器 PyCharm 上面的插件是非常实用的 能够巧妙的使用插件对于我们的开发功能的帮助非常大 下面我为大家推荐一些不错的插件 1 Key Promoter X 快捷键 用来提示快捷键的插件 帮助我们尽可能的摆脱鼠标操作
  • Neo4j 快速入门

    Neo4j 快速入门 neo4j 官方文档 https neo4j com docs neo4j 中文社区 http neo4j com cn neo4j 开发者页面 https neo4j com developer Neo4j安装 a
  • 时间序列分析教程(二):移动平均与指数平滑

    之前介绍了时间序列的基本概念和性质 现在就正式介绍一些处理时间序列的模型方法 第一个是移动平均法 移动平均法很简单 就是用最近的数据预测未来短时间内的数据 有简单移动平均法 真的很简单 就是用最近的一组数据 去平均 作为下一时刻的预测 S
  • Wolfram Mathematica 动手实践

    特点 Mathematica 的介绍 目标是提供介绍 Mathematica 广度的实践经验 重点是易用性 内容 完整概述 基础知识 Mathematica 中的示例项目 输入和输出 文字处理和排版 幻灯片演示 Wolfram 语言基础 使
  • Python统计模型探索性数据分析(EDA)系统(单变量-双变量-相关性-缺失值)

    单变量分析 单变量分析旨在更深入地了解单个列 它创建该列的各种统计数据和可视化 例如 要深入了解 特征 year built 要计算year built 的最小值 最大值 不同计数 中值 方差 并创建一个箱线图来检查异常值 一个正常的 Q
  • 时序数据和语音处理

    时序数据 时序数据概述 即时间序列数据 用于时序预测 作用 用来连续观察同一对象在不同时间点上获得的数据样本集 处理目标 对给定的时间序列样本 找出统计特性和发展规律性 推测未来值 语音是一类特殊的时序数据 识别语音对应的文本信息是当前人工
  • 推荐一个冷门又逆天的副业:Python兼职可月入10k+,成年人的世界,钱才是底气

    关于穷 去年有了一个更学术的说法 隐形贫困人口 就是因为有太多 种草达人 让我们为了物质生活超前消费 再加上不理财的话 那简直是雪上加霜 看到知乎上面最近有一个很火的问题 90后的你 现在拥有多少存款 你会看到人生百态 有人父母双亡 白手起
  • Excel构建决策分析模型

    特点 探讨使用 Excel 构建决策模型的价值和重要性 以及对 Excel 复杂性的非常详细和深入的解释 使用 Excel 的图形功能来有效地呈现定量数据 比率和间隔 来通知和影响目标对象 利用 Excel 的内置数据可视化和操作功能准备数
  • 【数学建模】灰度预测之关联度求解

    灰度预测适用范围 在实际中 若得到的是离散的 规律性不强的数据 此时线性回归就不适用了 我们需要采用灰度预测的方法 灰度预测法则是一种对含有不确定因素的系统进行预测的方法 白色系统 黑色系统 灰色系统 白色系统 指一个系统的内部特征是完全已
  • 如何成长为一名机器学习工程师

    如何成长为一名机器学习工程师 经常有人这么问 而这篇文章就尝试回答这个问题 其中会谈到关于机器学习的方方面面 从简单的线性回归到最新的神经网络 你不仅将学习如何使用这些技术 还将学习如何从头开始构建它们 这个指南主要面向计算机视觉 CV 这
  • 使用Pandas处理Excel文件

    Excel工作表是非常本能和用户友好的 这使得它们非常适合操作大型数据集 即使是技术人员也不例外 如果您正在寻找学习使用Python在Excel文件中操作和自动化内容的地方 请不要再找了 你来对地方了 在本文中 您将学习如何使用Pandas
  • 我最喜欢的10个顶级数据科学资源,kaggle、TDS、arXiv......

    当我声明数据科学正在成为最受欢迎的工作领域之一时 我想你不会与我争辩 特别是考虑到 哈佛商业评论 将 数据科学家 评为21世纪最性感的工作 在这个领域 我们已经走过了很长的路 从数据科学和机器学习等术语还不为人所知 到一切都聚集在统计学的保

随机推荐

  • docker搭建mysql高可用集群

    docker中搭建mysql高可用集群 percona xtradb cluster percona xtradb cluster是一款很棒的mysql高可用集群解决方案 特点是每个节点都能进行读写且都保存全量的数据 也就是说在任何一个节点
  • 大数据 第一节课 linux基础 基本的操作

    Linux的基础 一 Linux的实验环境 二 安装配置Linux和Linux的目录结构 1 安装Linux的过程中 注意的问题 虚拟机类型 Redhat linux 7 64位 重要的 网卡的类型 仅主机模式 host only IP地址
  • 性能测试(并发负载测试)测试分析

    声明 此文章是从网络上转载下来的 至于真实出处无法找到 在对系统进行测试的时候 通常有一个难点那就是使用LR JMeter等进行了性能测试 但是很难进行测试后的分析 以下很大一部分是从网上转载下的一位前辈对性能测试后的分析的见解 分析原则
  • 一些诗集-自创+整理

    常学问 传统文化常学问 研究中易琢磨神 时时出来抬头看 兼容并包实践真
  • win10和linux双系统免u盘,WIN10下免U盘安装Ubuntu双系统

    目录 一 工具下载 二 安装前的准备工作 三 安装Ubuntu系统 四 注意 最后 附下本文参考的博客 一 工具下载 1 下载Ubuntu操作系统 Ubuntu操作协同最好是去Ubuntu官方网站下载 https ubuntu com do
  • 你知道es是如何计算相似度得分的吗?

    1 es中相似度计算公式 BM25 6 x版本和7 x 版本的es的默认得分计算方式都是BM25 假如用户给定一个输入 Q Q Q 其包含了关键字 q 1
  • Latex插入表格及表格设置

    前言 下面将介绍简单的表格插入与格式设置 更多请参考texdoc中宏包说明 1 导言区 代码如下 示例 documentclass article usepackage ctex 更多表格设置见 texdoc booktab 三线表 tex
  • Unity3D FPS Game:第一人称射击游戏(三)

    耗时一周制作的第一人称射击游戏 希望能帮助到大家 由于代码较多 分为三篇展示 感兴趣的朋友们可以点击查看 Unity3D FPS Game 第一人称射击游戏 一 Unity3D FPS Game 第一人称射击游戏 二 Unity3D FPS
  • linux系统中防火墙脚本,防火墙设置脚本

    防火墙设置脚本 gt success 在web服务器中 只需要开启 web服务 和ssh服务还有 ping 其它的一率禁止 脚本如下 gt warning 在配置防火墙的时 一定要注意 不要把自己关在外面 最简单的方式 是使用脚来处理 bi
  • strtok_s的用法基本解释(2021-07-12)

    strtok s的用法基本解释 char string A string tof tokens nand some more tokens char seps t n char token NULL printf Tokens n char
  • 以太坊Ethereum命令

    etheum命令 查询账户 eth accounts 创建账户 personal newAccount password 查看账户余额 eth getBalance eth accounts 0 或指定具体的账户 eth getBalanc
  • SSO、OAuth2、JWT、CAS、OpenID、LDAP、淘宝微信登录一网打尽

    目录 前言 一 SSO简介 二 OAuth2简介 三 OAuth 2 0 规定了四种获得令牌的流程 1 授权码 Authorization Code 2 隐藏式 Implicit 3 密码式 Resource Owner Password
  • Cache的基本原理以及简单操作

    对于没有接触过底层技术的朋友来说 或许从未听说过cache 毕竟cache的存在对程序员来说是透明的 在接触cache之前 先为你准备段code分析 int arr 10 128 for i 0 i lt 10 i for j 0 j lt
  • 【JavaScript】关于this的代码输出题总结

    1 在Javascript中 this指向函数执行时的当前对象 2 箭头函数时不绑定this的 它的this来自原其父级所处的上下文 3 如果call第一个参数传入的对象调用者是null或者undefined call方法将把全局对象 浏览
  • docker容器里输入python: command not find

    在docker 容器里已经安装好了python包等文件 但是在命令行输入python时出现的是command not find 这是因为没有将包里的python与用户认识的python 建立起来联系 只需要建立软连接即可 ln s opt
  • 使用QNetworkRequest,实现网络连接

    首先要在头文件中包含以下文件 include
  • java解析未知key json_Gson解析JSON中动态未知字段key的方法

    前面一篇文章我介绍了Gson的解析的基本方法 但我们在享受Gson解析的高度封装带来的便利时 有时可能会遇到一些特殊情况 比如json数据中的字段key是动态可变的时候 由于Gson是使用静态注解的方式来设置实体对象的 因此我们很难直接对返
  • 微信小程序开发日记(二)

    一 VSCode开发微信小程序配置 安装插件 minapp 安装插件wechat snippet 安装wxml插件 如何调试 调试遇到两个问题 第一 如何热更新 第二 如何看console 第三 新建页面 新建组件等操作还是微信IDE好一些
  • fetch用英语解释_fetch什么意思_fetch是什么意思中文翻译

    fetch表达的意思有很多种 那么你知道fetch做动词和名词分别都有哪些意思吗 下面学习啦小编为大家带来fetch的英语意思和例句 欢迎大家学习 fetch作动词的意思 取来 抵达 到达 卖得 fetch作名词的意思 拿取 拿来 诡计 风
  • 干预分析模型- China GDP

    干预分析模型 GDP预测 加载pandas matplotlib等包 处理时间序列 import pandas as pd import numpy as np import matplotlib pylab as plt matplotl