python
野生胡萝卜
这个作者很懒,什么都没留下…
展开
-
python处理PDF-通过关键词定位-截取PDF中的图表
调试代码原创 2023-03-06 15:02:34 · 1907 阅读 · 2 评论 -
PyEMD安装问题及无法导包问题的解决
首先区分清楚PyEMD 和pyemd的区别。前者是经验模态分解,后者是地球移动距离(earth move distance)。安装之前先用 pip list查看一下是否已经有emd,emd-signal,pyemd包的存在,如果存在要先移除。然后直接用 pip install EMD-signal命令就可以安装好PyEMD,不用去安装其他什么。现在再导入就没问题了。注意,导入的时候不是from pyemd install emd,而是 from PyEMD import EMD ,EEMD...原创 2021-03-12 16:03:10 · 5236 阅读 · 10 评论 -
时间序列数据的分段线性表示
本文思想来自:时间序列数据的分段线性表示PLR算法以拟合误差为阈值,会出现两类问题:采用累积误差进行分段的算法对短时间内大波动数据不敏感,分段效果差;采用平均误差的分段算法在遇到长时间小波动数据后,对明显状态变化处理不敏感,各个子序列的开始与结束时间不精确。即,由于采用累积误差或平均误差,对一些状态变化的拐点不敏感。伪代码:python代码:def Select_Important_Points(T, R): X = [] for i in range(0, len(T原创 2020-10-17 23:13:39 · 4634 阅读 · 4 评论 -
一种优化的自底向上时间序列分段算法
文章思想来自:一种优化的自底向上时间序列分段算法经典自底向上算法的基本思想:将N个待分段的时间序列数据点两两连接,划分成不重合到的N/2个初始分段,并计算合并相邻段的拟合代价,即拟合误差。然后循环地从中选择拟合代价最小的,如果该最小值小于用户设定的分段阈值,则合并对应的两个相邻段,并重新计算合并的分段与它前后的分段的拟合代价。重复该过程,直到所有的拟合代价均不小于分段阈值,分段结束。**不足:**自底向上算法存在着偶数限制的不足,即算法要求待分段的数据点数为偶数个,初始分段长度为两个点,每次合并产生的分原创 2020-10-17 22:38:20 · 1523 阅读 · 1 评论 -
时间序列分段法
文献参考:An Online Algorithm for Segmenting Time Series一、时间序列分段优点:时间序列分段是指将长度为n的时间序列T用K条直线来拟合。因为K通常比n小得多,这种表示方式使得数据的存储、传输和计算更加高效。具体来说,在数据挖掘中,分段算法可以:支持快速精确类似搜索;支持新的距离度量,包括模糊查询,加权查询,多分辨率查询,动态时间扭曲和相关性反馈等;支持并行挖掘文本和时间序列;支持新的聚类和分类算法; 支持改变点检测二、分段算法总体思路给定一个原创 2020-10-17 21:53:45 · 17055 阅读 · 9 评论 -
使用numpy.linalg中lstsq报warning解决方法
FutureWarning: rcond parameter will change to the default of machine precision times max(M, N) where M and N are the input matrix dimensions.To use the future default and silence this warning we advise to pass rcond=None, to keep using the old, explicitly原创 2020-10-14 22:12:34 · 1954 阅读 · 0 评论 -
python实现时间序列分段算法 [Time series Breakout Detection]
本文的算法来自时间序列分段算法 [Time series Breakout Detection],最近在做相关研究,所以用python实现了该算法。该算法分为两步:单变量线性回归,用来拟合某一段时序 。(其实就是用最小二乘法完成对曲线的拟合)动态规划算法, 用来全局最大化断点检测效果。原文中的Loss函数就是先用最小二乘法对曲线进行拟合,然后返回了平方损失。最小二乘法的相关原理和公式可以参见最小二乘法小结,代码中采用的公式就是这篇文章中的。原文代码中的注释我认为是有问题的,但是有可能是我自己学原创 2020-10-13 23:23:08 · 4118 阅读 · 7 评论 -
python去掉 csv writerow方法中多余空行
添加参数lineterminator=’\nwriter = csv.writer(csvfile, lineterminator=’\n’)原创 2020-10-10 20:43:51 · 1657 阅读 · 0 评论 -
cvxpy没有semidefinite属性
cvxpy0.4.0版本的才有semidefinite属性,如果安装其他版本会报错。NameError: name ‘semidefinite’ is not defined 。但是semidefinite(n)返回的就是一个nxn的半正定变量,相当于对原来的变量作了一个半正定约束。而只要是实对称矩阵就是半正定矩阵,所以可以考虑用x = cvxpy.Variable((n,n),symmetric=True)来代替。...原创 2020-09-11 21:11:29 · 502 阅读 · 0 评论 -
snap中没有GenRndGnm的解决办法。
snap中没有GenRndGnm的解决办法。python3.7已经有对应的snap包,可以在https://snap.stanford.edu/snappy/release/上面下载相应的包,解压后运行 python setup.py install就可以安装。或者直接输入pip install snap-stanford命令行就可以,记住不是pip install snap。我是采用后一种方法安装成功的。如果import snap后,提示snap中没有GenRndGnm,那么检查已经安装的包中是否有s原创 2020-09-08 23:13:20 · 308 阅读 · 0 评论 -
python提取一个文件夹中所有txt中的文字出现b‘+
在读取文件的时候没有办法设置编码格式,python报错,于是采用二进制方法读取。但是最后读取出的每一行数据都带有b’+,这是由于二进制格式造成的。一开始在写入文件时候设置了编码格式(即在代码17行加入),但是发现没有用。后来在每一句写入的时候修改编码格式(如下图,在20行写入),顺利解决问题。...原创 2019-12-12 15:00:16 · 1007 阅读 · 0 评论