爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 13273|回复: 1

[源代码] 如何用python去趋势?(拟合模型法) +python导出数据

[复制链接]

新浪微博达人勋

发表于 2019-4-2 20:13:03 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 healer001 于 2019-4-2 20:35 编辑

去趋势我们可以在Python中实现,使用scikit-learn LinearRegression模型

原数据文件不论是excel还是txt存储 ,先要转成csv
去趋势之后同样存储成csv文件


from pandas import read_csv
from pandas import datetime
from matplotlib import pyplot
from sklearn.linear_model import LinearRegression
from matplotlib import pyplot
import numpy
import pandas as pd

series = read_csv('11.csv',
            header = 0,
            parse_dates=[0],
            index_col=0,
            squeeze=True)
X = [i for i in range(0, len(series))]
X = numpy.reshape(X,(len(X), 1))
y = series.values
model = LinearRegression()
model.fit(X,y)
trend = model.predict(X)
pyplot.plot(y)
pyplot.plot(trend)
pyplot.show()
detrended = [y-trend for i in range(0, len(series))]
d=[y-trend for i in range(0, len(series))]
pyplot.plot(detrended)
t=pd.DataFrame(data=d)
t.to_csv('D:\detrended.csv')

pyplot.show()

本帖主要参考  https://blog.csdn.net/Goldxwang/article/details/76198404


本帖没有解决的问题:
如何修改生成图片的x轴,我明明数据里第一列是1979-2014的年份信息,出图后是序号0-35?
欢迎大家一起讨论交流~


去趋势之后的时间序列

去趋势之后的时间序列

去趋势之前的时间序列

去趋势之前的时间序列

原数据文件-SublimeText

原数据文件-SublimeText

python导出数据到csv文件

python导出数据到csv文件

678ave.csv

622 Bytes, 下载次数: 12, 下载积分: 金钱 -5

原数据

q.py

726 Bytes, 下载次数: 14, 下载积分: 金钱 -5

去趋势程序

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-1-18 22:08:22 来自手机 | 显示全部楼层
请问:这个去趋势方法,是不是也去了均值啊?怎么保留均值啊?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表