DBSCAN密度聚类
type
status
date
slug
summary
tags
category
icon
password
Property

原理

密度聚类原理

DBSCAN是一种基于密度的聚类算法,这类密度聚类算法一般假定类别可以通过样本分布的紧密程度决定。同一类别的样本,他们之间的紧密相连的,也就是说,在该类别任意样本周围不远处一定有同类别的样本存在。
通过将紧密相连的样本划为一类,这样就得到了一个聚类类别。通过将所有各组紧密相连的样本划为各个不同的类别,就得到了最终的所有聚类类别结果。

DBSCAN密度定义

DBSCAN是基于一组邻域来描述样本集的紧密程度的,参数( ,MinPts)用来描述邻域的样本分布紧密程度。其中描述了某一样本的邻域距离阈值,MinPts描述了某一样本的距离为的邻域中样本个数的阈值。
 
假设样本集是 ,则DBSCAN具体的密度描述定义如下:
  • -邻域:对于 ,其 -邻域包含样本集中与 的距离不大于的子样本集,即 ,这个子样本集的个数记为
  • 核心对象:对于任一样本 ,如果其 -邻域对应的 至少包含MinPts个样本,即如果 ,则 是核心对象
 

代码

谱聚类spectral clustering
type
status
date
slug
summary
tags
category
icon
password
Property

原理

谱聚类概述

谱聚类是从图论中演化出来的算法,后来在聚类中得到了广泛的应用。它的主要思想是把所有的数据看做空间中的点,这些点之间可以用边连接起来。距离较远的两个点之间的边权重值较低,而距离较近的两个点之间的边权重值较高,通过对所有数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高,从而达到聚类的目的
 

谱聚类基础之一:无向权重图

对于一个图,一般用点的集合和边的集合来描述,即为 。其中即为数据集里面所有的点。对于中的任意两个点,可以有边连接,也可以没有边连接。定义权重 为点 和点 之间的权重。由于是无向图,所以
对于有边连接的两个点 ,对于没有边连接的两个点。对于图中的任意一个点,它的度定义为和它相连的所有边的权重之和,即
利用每个点度的定义,可以得到一个的度矩阵它是一个对角矩阵,只有主对角线有值,对应第行的第个点的度数,定义如下:
 

代码

Statsmodels
type
status
date
slug
summary
tags
category
icon
password
Property
 
notion image
Statsmodels是一个 Python 模块,它提供用于估计许多不同统计模型以及进行统计测试和统计数据探索的类和函数。每个估算器都有一个广泛的结果统计列表。对照现有的统计数据包对结果进行测试,以确保它们是正确的。该软件包是在开源修改 BSD(3 条款)许可下发布的
与scikit-learn比较,statsmodels包含经典统计学和经济计量学的算法。包括如下子模块:
  • 回归模型:线性回归,广义线性模型,健壮线性模型,线性混合效应模型等等
  • 方差分析:(ANOVA)
  • 时间序列分析:AR,ARMA,ARIMA,VAR和其它模型
  • 非参数方法: 核密度估计,核回归
回归和线性模型
type
status
date
slug
summary
tags
category
icon
password
Property

线性回归

适用于自变量X和因变量Y为线性关系,具体来说,画出散点图可以用一条直线来近似拟合。一般线性模型要求观测值之间相互独立、残差(因变量)服从正态分布、残差(因变量)方差齐性 统计模型被假定为
该模块允许通过普通最小二乘法 (OLS)、加权最小二乘法 (WLS)、广义最小二乘法 (GLS) 和具有自相关 AR(p) 误差的可行广义最小二乘法进行估计。
notion image
notion image
时间序列
type
status
date
slug
summary
tags
category
icon
password
Property
 

什么是时间序列?

时间序列是一系列以一致的时间间隔测量的数据点。这仅仅意味着以固定的间隔记录特定的值,该间隔可以是小时、每天、每周、每10天等等。使时间序列不同的是,该系列中的每个数据点都依赖于先前的数据点
例1:假设你有一个从某个公司贷款的人的数据集(如下表所示)。你认为每一行都与前一行相关吗?当然不是!一个人的贷款将基于他的经济状况和需要(可能有其他因素,如家庭规模等,但为了简单起见,我们只考虑收入和贷款类型)。此外,数据没有收集在任何特定的时间间隔。这取决于公司何时收到贷款申请。
notion image
例2:假设有一个数据集包含每天的空气中的二氧化碳含量(下图),能通过看过去几天的数值来预测第二天的二氧化碳量吗?当然。如果你观察到,数据已经被记录在每天的基础上,也就是说,时间间隔是恒定的(24小时)。
notion image
第一种情况是简单的回归问题,第二种情况是时间序列问题。虽然这里的时间序列难题也可以用线性回归来解决,但这并不是最好的方法,因为它忽略了值与所有相对过去值的关系。
 
 
notion image
notion image
时序分解
type
status
date
slug
summary
tags
category
icon
password
Property
 
notion image
 

分解定理

wold分解定理(1938)

任何一个离散平稳过程都可以分解为两个不相关的平稳序列之和,其中一个为确定性的,另一个为随机性的。
是确定性序列
是随机序列
  • ,也就是收敛
  • ,也就是白噪声序列
时间序列预测的7种方法
type
status
date
slug
summary
tags
category
icon
password
Property
 
 
notion image
 
朴素方法:简单地将最近一个观测值作为下一期的预测值来做预测
notion image
在这种预测技术中,新数据点的值被预测为等于前一个数据点。结果是一条平直的线,因为所有新的值都取前面的值。
notion image
 
统计时序
type
status
date
slug
summary
tags
category
icon
password
Property
 

统计时序

定义

随机序列
按时间排序与的一组随机变量
观察值序列
我们的目的是 通过观察值序列,去推断随机序列的性质 

概率分布族

特征统计量

均值
平稳性
type
status
date
slug
summary
tags
category
icon
password
Property
 
判断一个序列是不是平稳序列有三个评判标准:
  1. 均值 ,是与时间无关的常数。下图(左)满足平稳序列的条件,下图(右)很明显具有时间依赖。
    1. notion image
  1. 方差 ,是与时间无关的常数。这个特性叫做方差齐性。下图显示了什么是方差对齐,什么不是方差对齐。(注意右手边途中的不同分布。)
    1. notion image
  1. 协方差 ,只与时期间隔有关,与时间无关的常数。如下图(右),可以注意到随着时间的增加,曲线变得越来越近。因此红色序列的协方差并不是恒定的。
    1. notion image
 

为什么要关心平稳时间序列呢?

除非时间序列是平稳的,否则不能建立一个时间序列模型。在很多案例中时间平稳条件常常是不满足的,所以首先要做的就是让时间序列变得平稳,然后尝试使用随机模型预测这个时间序列。有很多方法来平稳数据,比如消除长期趋势,差分化。

随机游走

ARMA理论
type
status
date
slug
summary
tags
category
icon
password
Property
 
notion image

AR(p)模型

(Auto Regression Model)
 
,也就是白噪声过程
,也就是回归的自变量与残差无关

中心化AR模型

,称为中心化AR(p)模型
附加条件序列平稳后,
可以把AR(p)中心化:
ARMA和ARIMA的实现
type
status
date
slug
summary
tags
category
icon
password
Property
 
ARIMA是一种非常流行的时间序列建模技术。它描述了数据点之间的相关性,并考虑了值的差异。ARIMA的改进是SARIMA(或季节性ARIMA)。
 

数据准备与预处理

notion image
 
notion image
 

平稳性检验

序列平稳性是进行时间序列分析的前提条件。为什么要满足平稳性的要求呢?在大数定理和中心定理中要求样本同分布(这里同分布等价于时间序列中的平稳性),而我们的建模过程中有很多都是建立在大数定理和中心极限定理的前提条件下的,如果它不满足,得到的许多结论都是不可靠的。以虚假回归为例,当响应变量和输入变量都平稳时,我们用t统计量检验标准化系数的显著性。而当响应变量和输入变量不平稳时,其标准化系数不在满足t分布,这时再用t检验来进行显著性分析,导致拒绝原假设的概率增加,即容易犯第一类错误,从而得出错误的结论。