week3笔记

204 阅读3分钟

资金流入流出预测

ARIMA模型

Step1,平稳性检测 adfuller

Step2,采用 ARIMA模型

Step3,模型训练与预测

基于周期因子的时间序列预测

时间序列预测

Step 1,获得周期因子(weekday)

获得星期几的均值,再除以整体均值

Step 2,计算base

Step3,使用base * 周期因子进行预测

假设base=100,可以得到第四周的客流量

预测下个月每一天的情况:

如果想预测下个月每天的流量情况,可以基于每月的规律(1-30号的平均流量)* 周期因子

Step1,计算周期因子(weekday)

Step2,计算每日(1号-30号)均值,即1号的平均流量,2号的平均流量 …

Step3,统计星期几(weekday)在每日(day)出现的频次

Step4,基于周期因子获得加权均值,得到每日的base(去掉周期因子的影响)

Step5,根据每日的base和周期因子进行预测

chinese_calendar工具使用

新闻自动化处理

正则表达式

对字符串(包括普通字符和特殊字符)操作的一种逻辑公式

好处:可以迅速地用极简单的方式达到字符串的复杂操作

不足:比较晦涩难懂

Python中的re 模块

import re

例子1

re.match(pattern, string, flags=0)

尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none

例子2

re.search(pattern, string, flags=0)

扫描整个字符串并返回第一个成功的匹配

pattern 匹配的正则表达式

string 要匹配的字符串。

flags 标志位,用于控制正则表达式的匹配方式

常用字符表达式:

元字符

匹配内容

元字符

匹配内容

量词

用法说明

.

匹配除换行符以外的任意字符

$

匹配字符串的结尾

*

重复零次或更多次

\w

匹配字母或数字或下划线

\W

匹配非字母或数字或下划线

重复一次或更多次

\s

匹配任意的空白符

\D

匹配非数字

?

重复零次或一次

\d

匹配数字

\S

匹配非空白符

{n}

重复n次

\n

匹配一个换行符

a|b

匹配字符a或字符b

{n,}

重复n次或更多次

\t

匹配一个制表符

()

匹配括号内的表达式,也表示一个组

{n,m}

重复n到m次

\b

匹配一个单词的结尾

[...]

匹配字符组中的字符

[\u4e00-\u9fa5]

中文字符

^

匹配字符串的开始

[^...]

匹配除了字符组中字符的所有字符

[^\x00-\xff]

双字节字符(包括汉字在内)

基于Pandas的文本正则化

中文切词,地点实体识别

分词:

NLTK库,对英文文本预处理

jieba库,对中文文本预处理

jieba分词的三种模式:

精确模式:把文本精确的切分开,不存在冗余单词

全模式:把文本中所有可能的词语都扫描出来,有冗余

搜索引擎模式:在精确模式基础上,对长词再次切分

停用词(Stop Words):

需要自动过滤掉某些字或词

语料(Corpus):

一组原始文本的集合,用于无监督地训练文本

词云构建与可视化

TFIDF与TextRank

什么是TF-IDF:

TF:Term Frequency,词频

一个单词的重要性和它在文档中出现的次数呈正比。

IDF:Inverse Document Frequency,逆向文档频率

一个单词在文档中的区分度。这个单词出现的文档数越少,区分度越大,IDF越大

TextRank流程:

Step1,进行分词和词性标注,将单词添加到图中

Step2,出现在一个窗口中的词形成一条边

Step3,基于PageRank原理进行迭代(20-30次)

Step4,顶点(词)按照分数进行排序,可以筛选指定的词性

包安装:

pip install --upgrade XXX