具有非线性趋势的去趋势通量时间序列

2024-01-01

我需要对通量时间序列数据(光曲线)进行去趋势处理,但是当时间序列数据没有简单的线性趋势时,我遇到了问题。

我一直在使用 scipy.signal.detrend() 来消除线性情况的趋势,但这在这里还不够。

我已经使用 numpy.polyfit() 尝试多项式去趋势,但我不确定如何处理它返回的多项式系数。

有人可以建议我采取下一步明智的步骤吗?或者,如果有人有更好的方法来消除非线性数据的趋势,我也很高兴听到。


简而言之,您采用的系数polyfit返回并将它们传递给polyval评估观察到的“x”位置处的多项式。

作为一个独立的示例,假设我们有类似于以下内容的内容:

import numpy as np
import matplotlib.pyplot as plt

num = 1000
x = np.linspace(0, 10, num)
y = np.exp(x)

# Add some non-stationary noise that's hard to see without de-trending
noise = 100 * np.exp(0.2 * x) * np.random.normal(0, 1, num)
y += noise

fig, ax = plt.subplots()
ax.plot(x, y, 'ro')
plt.show()

请注意,我在这里没有使用多项式函数来创建y。这是故意的。否则,我们将获得精确的拟合,并且不需要“玩弄”多项式的阶数。

现在让我们尝试使用二阶多项式函数来消除它的趋势(注意行中的 2model = np.polyfit(x, y, 2)):

import numpy as np
import matplotlib.pyplot as plt

num = 1000
x = np.linspace(0, 10, num)
y = np.exp(x)

# Add some non-stationary noise that's hard to see without de-trending
noise = 100 * np.exp(0.2 * x) * np.random.normal(0, 1, num)
y += noise

# Detrend with a 2d order polynomial
model = np.polyfit(x, y, 2)
predicted = np.polyval(model, x)

fig, axes = plt.subplots(nrows=2, sharex=True)
axes[0].plot(x, y, 'ro')
axes[0].plot(x, predicted, 'k-')
axes[0].set(title='Original Data and 2nd Order Polynomial Trend')

axes[1].plot(x, y - predicted, 'ro')
axes[1].set(title='Detrended Residual')

plt.show()

请注意,我们没有完全拟合数据。这是一个指数函数,我们使用多项式。然而,当我们增加多项式的阶数时,我们将更精确地拟合函数(冒着开始拟合噪声的风险):

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有非线性趋势的去趋势通量时间序列 的相关文章

  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • 如何在android上的python kivy中关闭应用程序后使服务继续工作

    我希望我的服务在关闭应用程序后继续工作 但我做不到 我听说我应该使用startForeground 但如何在Python中做到这一点呢 应用程序代码 from kivy app import App from kivy uix floatl
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 在循环中每次迭代开始时将变量重新分配给原始值(在循环之前定义)

    在Python中 你使用 在每次迭代开始时将变量重新分配给原始值 在循环之前定义 时 也就是说 original 1D o o o for i in range 0 3 new original 1D revert back to orig
  • 在pyyaml中表示具有相同基类的不同类的实例

    我有一些单元测试集 希望将每个测试运行的结果存储为 YAML 文件以供进一步分析 YAML 格式的转储数据在几个方面满足我的需求 但测试属于不同的套装 结果有不同的父类 这是我所拥有的示例 gt gt gt rz shorthand for
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • 表达式中的 Python 'in' 关键字与 for 循环中的比较 [重复]

    这个问题在这里已经有答案了 我明白什么是in运算符在此代码中执行的操作 some list 1 2 3 4 5 print 2 in some list 我也明白i将采用此代码中列表的每个值 for i in 1 2 3 4 5 print
  • 如何将 numpy.matrix 提高到非整数幂?

    The 运算符为numpy matrix不支持非整数幂 gt gt gt m matrix 1 0 0 5 0 5 gt gt gt m 2 5 TypeError exponent must be an integer 我想要的是 oct
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • 为美国东部以外地区的 Cloudwatch 警报发送短信?

    AWS 似乎没有为美国东部以外的 SNS 主题订阅者提供 SMS 作为协议 我想连接我的 CloudWatch 警报并在发生故障时接收短信 但无法将其发送到 SMS YES 经过一番挖掘后 我能够让它发挥作用 它比仅仅选择一个主题或输入闹钟
  • 从 Python 中的类元信息对 __init__ 函数进行类型提示

    我想做的是复制什么SQLAlchemy确实 以其DeclarativeMeta班级 有了这段代码 from sqlalchemy import Column Integer String from sqlalchemy ext declar
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data

随机推荐

  • 未找到 /usr/local/lib 中的库

    我正在使用名为的框架构建一个应用程序ohNet http wiki openhome org wiki OhNet 构建框架后 可以通过以下方式安装框架make install 默认情况下 库安装在 usr local lib includ
  • 如何更改 R 中子图/插图的背景颜色?

    我想向 R 中的现有绘图添加子图 子图 插图 应具有不同的背景颜色 我尝试了以下方法 install packages TeachingDemos dependencies T library package TeachingDemos d
  • 从 C# 测试 AES-NI 指令

    我想知道是否有办法测试presence来自 C NET 的主机系统 CPU 中的 AES NI 首先我要说的是这个问题not询问如何use来自 NET 的 AES NI 事实证明只需使用AESCryptoServiceProvider如果可
  • sklearn 作业数量增加导致训练缓慢

    我一直在尝试让 sklearn 在 gridsearch 期间使用更多的 cpu 核心 在 Windows 机器上执行此操作 代码是这样的 parameters n estimators numpy arange 1 10 max dept
  • 有没有办法查明 iPhone 是否通过 A-GPS、手机信号塔信号强度或 wifi 获得 CLLocation?

    我正在尝试找到一个属性来指示 iPhone 如何物理获取CLLocation 据我所知 iPhoneCLLocation通过以下任一方式 1 全球定位系统 2 蜂窝塔三角测量 3 Wifi ID和信号强度 我可以通过编程方式引用可公开访问的
  • 如何在 Flutter 中的 AnimationController.repeat() 之间添加一些延迟

    I need to add some delay between each iteration of animation gets call to repeat Something like the following image 我尝试通
  • 查询最大并发时间跨度数

    我有一个包含两个日期时间字段的 SQL Server 表 CnxStartdatetime CnxEnddatetime 每行代表一次信息的传输 我试图根据这两个时间戳找到最大并发传输数 我有一个有效的查询 但它既慢又极其麻烦 我知道一定有
  • 内核如何知道当前线程是什么?

    有人可以解释一下这段代码吗here http lxr free electrons com source arch arm include asm 取自linux内核 how to get the thread information st
  • 如何从 php 创建跨越多个页面的 MsWord (.doc) 文件(使用 html)

    我需要创建一个包含多个页面的 doc 文件 我想从 html 创建 doc 文件 设置标题以便将其解释为 doc 文件 但我不知道如何在 html 中添加从 word 正确识别的分页符 提前感谢 你可能会发现PHPWord http php
  • 如何在haskell中以二进制或十六进制打印整数文字?

    如何在haskell中以二进制或十六进制打印整数文字 printBinary 5 gt 0101 printHex 5 gt 05 哪些库 函数允许这样做 我遇到了 Numeric 模块及其 showIntAtBase 函数 但无法正确使用
  • 如何使用 MapStruct 1.2 有条件地映射属性?

    MapStruct 1 2 是否可以将具有特定值的源属性映射到目标中的特定不同值 我想这样的事情 public abstract class JiraKpmMapper Mappings Mapping source mySource pr
  • 为什么追加方法对我的列表返回 None ? [复制]

    这个问题在这里已经有答案了 我知道我可以使用 append 将元素添加到列表中 但为什么赋值返回 None gt gt gt a 1 2 3 gt gt gt a append 4 gt gt gt print a 1 2 3 4 gt g
  • 借助 Google App Engine 灵活的环境提供多种服务

    使用普通的应用程序引擎 您可以通过创建 app yaml 的版本来定义服务 以前称为模块 在灵活的环境中 您似乎不能再这样做了 事实上 在使用旧的 module name 语法时它会崩溃 并会抛出术语 service name 的错误 有什
  • 如何单击 Cypress 中不可见的元素?

    我在 Cypress 中运行测试时遇到此错误 Timed out retrying after 10050ms cy click failed because this element is not visible 我怎样才能点击它呢 它只
  • Easy Auth 对某些人返回空响应

    我正在使用 auth me端点来获取用户的声明 我正在获取不记名令牌以便对端点进行身份验证 端点本身位于 Azure Function 源上 所以我要调用的是https azure function name azurewebsites n
  • 动态空指针数组

    我正在尝试创建一个基于动态数组的动态集抽象数据类型 但是 当我尝试将数据添加到数组时 我收到编译器警告和错误 它们是 警告 取消引用 void 指针 默认启用 错误 void 表达式的使用无效 我的代码如下 我用注释标记了有问题的行 str
  • Eclipse/PyCharm 中的 jython 设置

    Mac上使用Python 2 7 IDE是PyCharm 需要在Python脚本中使用一些Java函数 并且更喜欢使用Python的导入 例如from com a b c import fooFunc 这样我就可以使用fooFunc在 Py
  • ArrayFormula 与 GoogleFinance 动态日期

    首先 我不是一个强大的表格用户 我正在尝试使用 GOOGLEFINANCE 计算多种货币的金额 我用这个公式 IF A2 IF C2 C C2 C IF D2 D D2 D INDEX GoogleFinance CURRENCY USDU
  • jQuery - 动态添加验证规则到多个文本框

    我正在尝试动态地将验证规则添加到多个文本框 这是js validate form SubmitForm validate input id Hours rules add number true messages number Please
  • 具有非线性趋势的去趋势通量时间序列

    我需要对通量时间序列数据 光曲线 进行去趋势处理 但是当时间序列数据没有简单的线性趋势时 我遇到了问题 我一直在使用 scipy signal detrend 来消除线性情况的趋势 但这在这里还不够 我已经使用 numpy polyfit