Python脚本
主要用来记录一些比较常用的小脚本,提高工作效率
常用命令
对hexo博客的写作常用方法以及butterfly主题的使用技巧进行一个简单的记录。
Markdown语法规范
文字编辑
对齐方式和文本字体大小
markdown实现文本对齐也可以借助内嵌html实现:
<p align="right">这是一个右对齐</p>
<p align="left">这是一个左对齐</p>
<center>这是一个左对齐</center>
这是一个右对齐
这是一个左对齐
居中
一个居中的h1标题
一个居中的标题
一个调节字体大小为16后的居中标题
换行
markdown换行有两种方式:
段内换行是两个空格加上一个回车
这是一个段内换行
段落换行则是直接一个回车
注意观察两种换行情境下行间距大小
上下标
可以使用上标标签和下标标签。
例如:
n<sup>2</sup>+b<sub>1</sub>n+8=0
n2+b1n+8=0
高亮
可以使用高亮标签。
这是<mark>高亮文本</mark>
这是高亮文本
除了文本高亮以外,还可以对文本的颜色进行修改,一般修改文本的颜色有两种方式:
<font color="#0099ff">十六进制颜色表示方式 #0099ff</font>
&l ...
贝叶斯推断
贝叶斯估计是贝叶斯学派估计未知参数的主要方法,与频率学派相比,贝叶斯学派最主要的观点就是未知量是一个随机变量,在进行抽样分布之前,未知量有自己的分布函数,即所谓的先验分布。而贝叶斯估计也就是通过引入未知量的先验分布来将先验信息和传统频率学派的总体信息和样本信息结合起来,得到一个未知量的后验分布,然后对未知量进行统计推断。
关于未知量是否可看作随机变量 在经典学派与贝叶斯学派 间争论了很长时间,后来这一观点渐渐被经典学派认同。如今两派的争论焦点已经变成了如何利用各种先验信息来合理地确定先验分布。
贝叶斯估计的基本思想
对于未知参数θ\thetaθ,假设其分布(先验分布)为h(Θ)h(\Theta)h(Θ)。
总体分布以及样本分布都依赖于先验分布,因而将先验信息加入后的样本X\boldsymbol{X}X与θ\thetaθ的联合分布(the joint conditional pdf of X\boldsymbol{X}X, given Θ\ThetaΘ = θ\thetaθ,)变成了:
g(X,θ)=L(X∣θ)h(θ)=Πif(xi∣θ)h(θ)g(\boldsymbol{X}, ...
非平稳时间序列
时间序列分析的大致框架:
这篇文章的重点放在非平稳时间序列的建模上。
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 ...
平稳时序建模
模型识别
模型定阶
含义:对一个观察序列(Observed Series),选择一个与其实际过程相吻合的模型结构
ACF 和 PACF 法
根据 ACF 和 PACF 的特征,先判断属于哪一类模型
确定模型后,AR 模型和 MA 模型在对应阶数以外的呈截尾分布的特征统计量服从正态分布,通过比较前 M 个统计量的取值(一般为N\sqrt{N}N)中满足正态分布的取值所占的比例来确定最小的满足条件的阶数(满足正态分布指的是给定模型阶数的情况下,对应的特征统计量的观察值落在正态分布的nnn个σ\sigmaσ内,n 一般取 1)
若为 AR 模型,则通过 PACF 确定阶数(k>pk>pk>p时,ϕkk∼N(0,1N)\phi_{kk} \sim N(0,\frac{1}{N})ϕkk∼N(0,N1))
从 p=1 开始,若有一个统计量满足:\begin{equation}
\frac{\sum\limits_{k=p+1}^{\sqrt{N}+p} \mathbb{I}·\left(\phi_{kk}<\sqrt{1/N}\right)}{\sqrt{N ...
时间序列基础
符号说明
王燕老师的书上的符号和我们老师讲课的符号有一些出入,虽然在写的过程中有意识地去使用赵老师上课用的符号但难免会有所疏漏,这里将两本书上符号的对应关系列一下:
赵老师
王燕教材
时间序列:ZtZ_tZt
XtX_tXt
自协方差函数:r(t−s,0)r(t-s,0)r(t−s,0)
γ\gammaγ
PACF:φ\varphiφ
ϕ\phiϕ
因为有些符号感觉是老师制作 ppt 不规范导致(甚至有些混乱),所以这里就按照教材中的符号命名方法进行书写,可能会与 ppt 稍微有出入。
斜体或者标题加*内容为辅助理解内容
Introduction
传统的统计学习过程中我们用样本推断总体的方法时,我们希望分析的随机变量越少越好,同时每一个变量的信息(样本容量 n)越大越好,这从两个方面保证了我们统计分析的合理性,而对于时间序列而言,因为引入了时间变量TTT,我们将每一个时刻的值都视为一个随机变量,这样的话相当于对于每一个随机变量进行分析时我们只能使用这个时刻的数据,这对于统计分析的展开是非常不利的,这个时候很容易就想到能不能将不同时刻的数据结合在一起来对每 ...
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 ...