1  样本的自协方差函数的通式如下:

2  其实,后面要计算的自相关函数也可以用自协方差来表示:

 # @author: "Thomas.Shih"
# @date: 2018/3/5 0005
# !/usr/bin/python3
# -*- coding:utf-8 -*-
TimeSeries = [11.67602657, 5.637492979, 1.375516942, 0.618705492, -0.152047234, -0.508555434, -6.065288121, -9.417602801, \
-10.47205437, -8.018063902, 0.523277554, 4.86893283, 4.23977562, -10.2344375, -3.463362573, 36.51326577, \
-8.518370963, -15.37474905, -7.687911176, 4.818978874, 7.876681639, 1.763788865]
Zt = []
LZt = []
AutoCovariance = []
# 自协方差存为列表形式,显示格式如下:
# [γ0,γ1,γ2,γ3,....]
# [γk,....] k = 0,1,2,3....
total = 0
i = 1
while i < len(TimeSeries):
L = TimeSeries[i::]
LL = TimeSeries[:-i:]
total = total + TimeSeries[i - 1]
Zt.append(L)
LZt.append(LL)
i += 1
total = total + TimeSeries[-1]
avg = total / len(TimeSeries) k = 0
result_temp0 = 0
# 首先求γ0的值
while k < len(TimeSeries):
result_temp0 = result_temp0 + pow((TimeSeries[k] - avg), 2)
k += 1
AutoCovariance.append(result_temp0/len(TimeSeries))
# print(AutoCovariance)
# 显示结果:
#[2418.4380925669107] # 然后计算分子
p = 0
q = 0
length = 0
while p < len(Zt):
q = 0
result_temp1 = 0
while q < len(Zt[p]):
result_temp1 = result_temp1 + (Zt[p][q] - avg) * (LZt[p][q] - avg)
q += 1
# print(result_temp1)
# print(len(Zt)-p)
AutoCovariance.append(result_temp1/len(TimeSeries))
p += 1
print(AutoCovariance)
# print(len(AutoCovariance))
# print(len(Zt)) # 显示结果:
# [109.92900420758684, 7.033249208759847, -41.331023616868386, -9.818640497993421, 17.321104958520728, 11.540453909308482,
# -20.71675731505552, -23.35193308926872, -10.671711257152637, 2.3511837591142006, 12.09337228027552, 5.284907080510467,
# -3.4833058404578527, -9.53177380894126, 3.568570997073478, 15.31665885468035, -8.901077316598432, -9.619216801963882,
# -2.303250941136475, 4.686244739096256, 4.632349610445184, 0.9360929838586473]

计量经济与时间序列_自协方差(AutoCovariance)算法解析(Python)的更多相关文章

  1. 计量经济与时间序列_关于Box-Jenkins的ARMA模型的经济学意义(重要思路)

    1 很多人已经了解到AR(1)这种最简单的时间序列模型,ARMA模型包括AR模型和MA模型两个部分,这里要详细介绍Box-Jenkins模型的观念(有些资料中把ARMA模型叫做Box-Jenkins模 ...

  2. 计量经济与时间序列_滞后算子和超前算子L的定义

    1.   为了使计算简单,引入滞后算子的概念: 2.   定义LYt = Yt-1 , L2Yt = Yt-2,... , LsYt = Yt-s. 3.   也就是把每一期具体滞后哪一期的k提到L的 ...

  3. 计量经济与时间序列_ACF自相关与PACF偏自相关算法解析(Python,TB(交易开拓者))

    1   在时间序列中ACF图和PACF图是非常重要的两个概念,如果运用时间序列做建模.交易或者预测的话.这两个概念是必须的. 2   ACF和PACF分别为:自相关函数(系数)和偏自相关函数(系数). ...

  4. 计量经济与时间序列_ACF与PACF标准差(均标准误)的计算(含代码)

    1   我们对于acf和pacf值计算完毕之后,在需要计算两个数值的标准差. 2   acf和pacf的标准差计算略有不同.acf的标准差是一个移动过程,而pacf是一个相对固定过程. 3   我们继 ...

  5. 计量经济与时间序列_ADF单位根检验步骤

    1 ADF检验也叫扩展的迪克富勒检验,主要作用是检测序列的平稳性,也是最常用检测序列平稳性的检验方法. 2 何为:平稳性?单位根?(略),见这部分随便的其他内容有讲解.是建模对数据的先决条件. 3 A ...

  6. DeepFM算法解析及Python实现

    1. DeepFM算法的提出 由于DeepFM算法有效的结合了因子分解机与神经网络在特征学习中的优点:同时提取到低阶组合特征与高阶组合特征,所以越来越被广泛使用. 在DeepFM中,FM算法负责对一阶 ...

  7. Mmseg中文分词算法解析

    Mmseg中文分词算法解析 @author linjiexing 开发中文搜索和中文词库语义自己主动识别的时候,我採用都是基于mmseg中文分词算法开发的Jcseg开源project.使用场景涉及搜索 ...

  8. 数据结构与算法(Python)

    数据结构与算法(Python) Why? 我们举一个可能不太恰当的例子: 如果将最终写好运行的程序比作战场,我们码农便是指挥作战的将军,而我们所写的代码便是士兵和武器. 那么数据结构和算法是什么?答曰 ...

  9. 地理围栏算法解析(Geo-fencing)

    地理围栏算法解析 http://www.cnblogs.com/LBSer/p/4471742.html 地理围栏(Geo-fencing)是LBS的一种应用,就是用一个虚拟的栅栏围出一个虚拟地理边界 ...

随机推荐

  1. 数据库的交互模式 常用的dos命令 (第一天)

    浏览器和服务器和数据库的交互模式 windows nt(windows系统)的分类:服务操作系统有(server03 server08(R2) 12 16) 个人操作系统有(xp win7 win8 ...

  2. HDU - 2602 Bone Collector(01背包讲解)

    题意:01背包:有N件物品和一个容量为V的背包.每种物品均只有一件.第i件物品的费用是volume[i],价值是value[i],求解将哪些物品装入背包可使价值总和最大. 分析: 1.构造二维数组: ...

  3. 15 —— npm —— package.json 与 package-lock.json 的作用

    一,package.json  是 npm init 时创建的一个文件,会记录当前整个项目中的一些基础信息. 二,package-lock.json 是 node_modules 文件夹或者 pack ...

  4. Vue中 几个常用的命名规范

    1,组件名 官方推荐的组件名是 每个单词首字母大写(PascalCase) 或者 全小写用 - 连接(kebab-case) . 在DOM中使用的时候, 改为全小写, 单词之间用 - 连接. Vue. ...

  5. InstrumentationTextCase 测试

    <instrumentation        android:name="android.test.InstrumentationTestRunner"        an ...

  6. 使用Redis SortedSet实现增量更新

    导读:前段时间有个需求是提供一个接口供客户端增量更新数据,当有数据被删除了以后客户端也需要感知到,并且要支持一定并发: 关键词:高并发,增量更新 前言 何谓增量更新,顾名思义就是只更新变化的部分,这样 ...

  7. 欧拉回路--P2731 骑马修栅栏 Riding the Fences

    实在懒得复制题干了 *传送 1.定义 *如果图G(有向图或者无向图)中所有边一次仅且一次行遍所有顶点的通路称作欧拉通路. *如果图G中所有边一次仅且一次行遍所有顶点的回路称作欧拉回路. *具有欧拉回路 ...

  8. 使用eclipse创建maven时遇到的问题

    转自https://www.cnblogs.com/hongmoshui/p/7994759.html   1.在eclipse中用maven创建项目,右键new>>Maven Proje ...

  9. part9 公用图片画廊组件拆分

    1.src中创建 common 再创建 gallery.然后gallery.vue 2.build 中webpack.base.conf 中配置更短路径 module.exports {}中 reso ...

  10. POJ 3278:Catch That Cow

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536KB   64bit IO Format: %I64d & %I64u Submi ...