时间序列基础
本篇文章由博主参考王燕老师的《应用时间序列分析》结合学校开设的《时间序列分析》课程撰写,主要用来作为考前复习,如有疏漏欢迎留言讨论。
斜体或者标题加*内容为辅助理解内容
Introduction
传统的统计学习过程中我们用样本推断总体的方法时,我们希望分析的随机变量越少越好,同时每一个变量的信息(样本容量 n)越大越好,这从两个方面保证了我们统计分析的合理性,而对于时间序列而言,因为引入了时间变量TTT,我们将每一个时刻的值都视为一个随机变量,这样的话相当于对于每一个随机变量进行分析时我们只能使用这个时刻的数据,这对于统计分析的展开是非常不利的,这个时候很容易就想到能不能将不同时刻的数据结合在一起来对每一时刻的随机变量进行一个估计,这种做法的前提就是不同时刻对应随机变量的具有某种一定的相似性,这也就引出了我们所说的“平稳性”的概念,简单来说时间序列的平稳性就是在看随机变量的分布特征是否会随着时间改变。
特征统计量
这块主要是涉及对序列统计性质的描述,基本上和数理统计学到的内容一致.
均值
方差
自协方差函数和自相关系数(Auto Correlation Functi ...
Seaborn库简介
将本文结合代码使用效果更佳哦❤️❤️
速查
example gallery:
Seaborn 库简介
特点:
Seaborn, a statistical graphics library created by Michael Waskom. Seaborn simplifies creating many common visualization types.
Unlike when using matplotlib directly, it wasn’t necessary to specify attributes of the plot elements in terms of the color values or marker codes. Behind the scenes, seaborn handled the translation from values in the dataframe to arguments that matplotlib understands. This declarative approach lets you stay ...
集成学习
集成学习更深入的内容可以参考周志华老师的《集成学习:基础与算法 》,限于笔者的能力和精力,过于深入的东西笔者还没有理解
许是开始就没学会,也或者是因为时间太长忘光光了,重新学习集成学习这章。
概述
集成学习(Ensemble Learning)是将多个学习器结合,构建一个有较强性能的机器学习器的方法。
集成学习的一般结构: 一组个体学习器+结合策略。一般来说集成的学习器都是弱学习器(弱学习器继承效果相对较好)
根据集成学习的各基估计器类型是否相同,可以分为同质和异质两种方法。
分类
根据每个基学习器是否同属一个种类。可以将集成学习分为同质和异质两种类型。
同质集成学习
同质表示集成的个体学习器属于同种类型,这时的个体学习器又称为基学习器。
目前来说,同质个体学习器的应用最为广泛。一般的集成学习均指同质个体学习器。而同质个体学习器使用最多的模型是 CART 决策树和神经网络。
周志华老师的《机器学习》一书中证明过若基分类器的错误率相互独立,根据 Hoeffding 不等式可得当个体分类器数目 T 增大时集成的错误率将指数级下降。
异质集成学习
异质指是所有的个体学习器不全是 ...
Pandas
放一个目录做的的思维导图
一场数模国赛下来发现对于pandas里的一些基础操作还不是很熟练,整个建模过程中用到了许多pandas中对DataFrame的索引,切片访问,分组交叉透视等功能,除此以外稍微高级一点的就是用了几次apply函数来对某一行的值进行一个计算输出,虽然知识描述统计这部分的内容,但是能明显的感觉到对于这些基本功能有些生疏。坦白来讲,pandas的描述统计相关的这些工作其实借助excel也能够实现,但是当考虑到可迁移性这些方面的内容时,使用编程语言的优越性也就自然而然地体现出来,当然,如果对相关的函数不能做到很熟悉的话,其实反而加大了工作量。
简介
Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具。经过多年不懈的努力,Pandas 离这个目标已经越来越近了。
虽然 pandas 采用了大量的 NumPy 编码风格,但二者最大的不同是 panda ...
R基础
常用函数(备忘)
函数
含义
install.packages()
装包
update.packages()
更新包
library()
加载包
object
在R中,一个object可以是任何可以赋值给变量的东西(数据结构、函数、甚至是graph),一个object有两个重要的东西叫mode和class,前者决定这个object的存储方式(numeric,character,logical),后者决定函数如何处理这个object。虽然有object的概念,但是R本身仍然是一种自顶向下式的编程方式,大部分功能都是通过各式各样的函数来实现的。
常用函数
dim()函数返回数据的维度
length()函数返回数据的长度
str()函数返回数据的结构
class()函数返回数据的类型
mode()函数返回数据的存储方式
names()函数返回数据的列名(Gives the names of components in an object)
c(object,object)函数将多个向量合并为一个向量
cbind()按列combine
rbind按行combine ...
非平稳时间序列
时间序列分析的大致框架:
这篇文章的重点放在非平稳时间序列的建模上。
ARIMA
若非平稳序列经过差分后能显示出平稳序列的性质,我们就可以称这个非平稳序列为差分平稳序列,而ARIMA模型拟合就相当于给差分平稳序列使用ARMA模型进行拟合。
一般情况下ARIMA模型记为ARIMA(p,d,q),其中p、d、q分别为ARMA模型的阶数,d为差分阶数,d=0时,ARIMA模型就是ARMA模型:
{Φ(B)∇dxt=Θ(B)εtE(εi)=0,Var(εi)=σε2,E(εiεx)=0,s≠tExsεt=0,∀s<t\left\{\begin{array}{l}
\Phi(B) \nabla^d x_t=\Theta(B) \varepsilon_t \\
E\left(\varepsilon_i\right)=0, \operatorname{Var}\left(\varepsilon_i\right)=\sigma_{\varepsilon}^2, E\left(\varepsilon_i \varepsilon_x\right)=0, s \neq t \\
E x_s \va ...
多元线性回归
主要分享计量的多元线性回归模型及离差形式系数的求解过程,在学习完多元线性回归之后一时兴起用了一个小时在本子上写出了公式的推导,回到宿舍后为了方便npy看花费了两个小时转成了数学公式(主要是自己写的公式区分度不高,mathpix看了落泪),排版的过程中顿觉markdown的苍白无力,latex的交叉引用是真的好用,但因为种种原因最后还是选择了markdown作为自己写笔记的主要工具,好像也没有什么办法,毕竟不可能事事尽善尽美。
模型
\begin{equation}
\begin{aligned}
Y_i &=\beta_0+\beta_1 X_{i 1}+\beta_2 X_{i 2}+\ldots \beta_k X_{i k}+\mu_i \\
&=\left[\begin{array}{lllll}
1 & X_{i 1} & X_{i 2} & \ldots & X_{i k}
\end{array}\right]\left(\begin{array}{c}
\beta_0 \\
\beta_1 \\
\beta_2 \\
\ ...
博客公式渲染
第二次大的整顿Hexo博客,主要解决标签外挂公式排版等问题
魔改教程
借鉴大佬们的美化教程对博客进行魔改,一些比较基础的页面美化
遗传算法
当进化与选择的朴素观念在当代的前沿领域生根发芽,事情逐渐变得有趣起来。
Fitness calculation →Reproduction→Mutation→Fitness calculation
达尔文的进化论讲的是什么?在一个自然存在的生物种群中,生物生存的自然环境会对生物进行选择,在选择上存下来的个体有更大的机会去将自己的基因传递给下一代,传递过程中会发生基因的变异(mulate)和杂交(crossover)来保证基因在传递过程中的多样性和稳定性。
人们在进化论的启发下,设计出一种进化算法(Evolutionary Algorithms)。
通过对原始问题进行编码,首先初始化一个合适的可行方案集,然后通过建立适当的评估函数对所有的评估方案进行评估,虽然可能所有的评估方案距离期望达到的效果都比较差,但是可以在这这里边选择相对比较好的方案赋予他们在杂交过程中更大的优势,让那些效果比较好的可行方案有更大的概率进行杂交,同时在杂交的过程中进行一定程度的变异,对最终产生的结果进行新一轮的评价。
Genetic Algorithms.一般来说,只要我们建立合适的fitness fu ...