scipy.interpolate.UnivariateSpline 不平滑,无论参数如何

2024-03-14

我在插值时无法让 scipy.interpolate.UnivariateSpline 使用任何平滑。基于函数的页面 http://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.UnivariateSpline.html#scipy.interpolate.UnivariateSpline以及一些以前的帖子 https://stackoverflow.com/questions/7906126/spline-representation-with-scipy-interpolate-poor-interpolation-for-low-amplitu,我相信它应该提供平滑s范围。

这是我的代码:

# Imports
import scipy
import pylab

# Set up and plot actual data
x = [0, 5024.2059124920379, 7933.1645067836089, 7990.4664106277542, 9879.9717114947653, 13738.60563208926, 15113.277958924193]
y = [0.0, 3072.5653360000988, 5477.2689107965398, 5851.6866463790966, 6056.3852496014106, 7895.2332350173638, 9154.2956175610598]
pylab.plot(x, y, "o", label="Actual")

# Plot estimates using splines with a range of degrees
for k in range(1, 4):
    mySpline = scipy.interpolate.UnivariateSpline(x=x, y=y, k=k, s=2)
    xi = range(0, 15100, 20)
    yi = mySpline(xi)
    pylab.plot(xi, yi, label="Predicted k=%d" % k)

# Show the plot
pylab.grid(True)
pylab.xticks(rotation=45)
pylab.legend( loc="lower right" )
pylab.show()

结果如下:

我已经尝试过一系列s值(0.01、0.1、1、2、5、50)以及显式权重,设置为相同的值(1.0)或随机。我仍然无法得到任何平滑,并且结的数量始终与数据点的数量相同。特别是,我正在寻找像第四点(7990.4664106277542、5851.6866463790966)这样的异常值进行平滑。

是因为我没有足够的数据吗?如果是这样,是否有类似的样条函数或聚类技术可以应用来实现这几个数据点的平滑?


简短的回答:您需要选择的值s更仔细地。

的文档单变量样条 http://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.UnivariateSpline.html指出:

Positive smoothing factor used to choose the number of knots. Number of 
knots will be increased until the     smoothing condition is satisfied:
sum((w[i]*(y[i]-s(x[i])))**2,axis=0) <= s

由此可以推断出,如果您不传递显式权重,则平滑的“合理”值约为s = m * v where m是数据点的数量,v数据的方差。在这种情况下,s_good ~ 5e7.

EDIT:合理的值s当然还取决于数据中的噪声水平。该文档似乎建议选择s在范围中(m - sqrt(2*m)) * std**2 <= s <= (m + sqrt(2*m)) * std**2 where std是与要平滑的“噪声”相关的标准差。

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

scipy.interpolate.UnivariateSpline 不平滑,无论参数如何 的相关文章

  • 将 JSON 发布到 Python CGI

    我已经安装了 Apache2 并且 Python 可以工作 但我有一个问题 我有两页 一个是 Python 页面 另一个是带有 JQuery 的 Html 页面 有人可以告诉我如何让我的 ajax 帖子正常工作吗
  • scipy.optimize on pandas dataframe

    我试图搜索它 但结果很差 有人可以向我解释一下如何在 Pandas DataFrame 上执行 optimize minimize 以便最小化 DataFrame 中的类别和结果列之间的错误 考虑这个例子 import pandas as
  • 通过 python 中的另外两个修改数组[重复]

    这个问题在这里已经有答案了 假设我们有三个一维数组 A 长度为 5 B 长度相同 示例中为5 C 更长 比如长度为 100 C最初用零填充 A给出索引C应更改的元素 它们可能会重复 以及B给出应添加到初始零的值C 例如 如果A 1 3 3
  • Keras model.predict 函数给出输入形状错误

    我已经在 Tensorflow 中实现了通用句子编码器 现在我正在尝试预测句子的类概率 我也将字符串转换为数组 Code if model model type universal classifier basic class probs
  • 为什么在访问 Python 对象属性时使用 getattr() 而不是 __dict__ ?

    在具有一定程度的 Python 对象自省的源代码示例和 SO 答案中 常见的模式是 getattr some object attribute name string 是否有理由优先选择这种模式 some object dict attri
  • 如何在Windows中的Python 3.9下pip安装pickle?

    我需要pickle https docs python org 3 9 library pickle html module pickle包安装在我的下面Python 3 9在 Windows 10 下 我尝试过的 当尝试与pip inst
  • 无法在 virtualenv 中安装 libxml2

    我有一个问题libxml2蟒蛇模块 我正在尝试将其安装在python3 虚拟环境使用以下命令 pip install libxml2 python3 但它显示以下错误 Collecting libxml2 python3 Using cac
  • 在linux上安装python ssl模块,无需重新编译

    是否可以在已经安装了 OpenSSL 的 Linux 机器上安装 python 的 SSL 模块 而无需重新编译 python 我希望它就像复制几个文件并将它们包含在库路径中一样简单 Python版本是2 4 3 谢谢 是否可以在已经安装了
  • 用 Python 绘制直方图

    我有两个列表 x 和 y x 包含字母表 A Z Y 包含它们在文件中的频率 我尝试研究如何在直方图中绘制这些值 但在理解如何绘制它方面没有成功 n bins patches plt hist x 26 normed 1 facecolor
  • 如何从hdfs读取文件[重复]

    这个问题在这里已经有答案了 我在 project1目录下的hadoop文件系统中有一个文本文件名mr txt 我需要编写 python 代码来读取文本文件的第一行 而不将 mr txt 文件下载到本地 但我无法从 hdfs 打开 mr tx
  • ValueError:数据必须为正(boxcox scipy)

    我正在尝试将我的数据集转换为正态分布 0 8 298511e 03 1 3 055319e 01 2 6 938647e 02 3 2 904091e 02 4 7 422441e 02 5 6 074046e 02 6 9 265747e
  • 正在使用 PIL 保存损坏的图像

    我遇到一个问题 操作图像像素导致保存损坏的图像 因此 我使用 PIL 打开图像 然后将其转换为 NumPy 数组 image Image open myimage png np image np asarray image 然后 我转置图像
  • Py2exe - Pmw WindowsError:[错误 3]

    我正在尝试使用 Py2exe 构建独立的可执行文件 我已经导入了 Pmw 类 当我运行独立可执行文件时 出现以下错误 Traceback most recent call last File py line 9 in
  • 在请求中设置端口

    我正在尝试利用cgminer使用 Python 的 API 我对利用requests图书馆 我了解如何做基本的事情requests but cgminer想要更具体一点 我想缩小 import socket import json sock
  • 类型错误:此 COM 对象无法自动执行 makepy 过程 - 请为此对象手动运行 makepy

    这是什么错误 回溯错误 C Users DELL PycharmProjects MyNew venv Scripts python exe C Users DELL PycharmProjects MyNew agaaaaain py T
  • 更改 Matplotlib 投影轴的背景颜色

    我正在尝试使用 Cartopy 创建一个图形 该图形需要在未投影的轴上绘制投影轴 这是一个尽可能简单的代码版本 它将轴上的内容替换为背景颜色 import matplotlib pyplot as plt import cartopy cr
  • 如何按 pandas 中的值对系列进行分组?

    我现在有一只熊猫Series与数据类型Timestamp 我想按日期对其进行分组 并且每组中有许多行具有不同的时间 看似显而易见的方法类似于 grouped s groupby lambda x x date 然而 熊猫的groupby按索
  • 如何创建用于霍夫曼编码和解码的树?

    对于我的作业 我将对霍夫曼树进行编码和解码 我在创建树时遇到问题 并且陷入困境 不要介意打印语句 它们只是让我测试并查看函数运行时的输出是什么 对于第一个 for 循环 我从主块中用于测试的文本文件中获取了所有值和索引 在第二个 for 循
  • 为boost python编译的.so找不到模块

    我正在尝试将 C 代码包装到 python 中 只需一个类即可导出两个函数 我编译为map so 当我尝试时import map得到像噪音一样的错误 Traceback most recent call last File
  • 如何同时接受int和float类型的输入?

    我正在制作一个货币转换器 如何让 python 同时接受整数和浮点数 我就是这样做的 def aud brl amount From to ER 0 42108 if amount int if From strip aud and to

随机推荐

  • Python - Pandas 删除 Excel 中的特定行/列

    我有以下 Excel 文件 我想清理特定的行 列 以便我可以进一步处理该文件 我已经尝试过这个 但我没有设法删除任何空白行 我只能设法从包含数据的行中修剪掉 在这里 我试图只保存第三行及以后的数据 xl pd ExcelFile MRD x
  • TemplateInputException:解析模板时出错 ****,模板可能不存在

    我正在使用 Spring Boot 和 mySql 数据库 我正在尝试通过团队表过滤搜索 最初这个表是一个 thymeleaf 表 参见我的相关 SO 问题 但在用尽互联网上可用的所有资源后 没有成功 我决定以不同的方式实现搜索 我发现了一
  • 通过 C# 和 OleDb 将行插入 Excel 电子表格

    我需要以编程方式将一行多次插入 Excel 电子表格中 我需要实际上插入一个新行并且不插入数据 也就是说 我实际上需要将所有其他行向下移动一位 我目前正在使用 OleDB 插入数据本身 如下所示 Note I have missed som
  • 写组合缓冲区位于哪里? x86

    Write Combine 缓冲区在物理上是如何连接的 我见过说明许多变体的框图 L1 和内存控制器之间 CPU 的存储缓冲区和内存控制器之间 CPU 的 AGU 和 或存储单元之间 它依赖于微架构吗 写缓冲区在不同的处理器中可以有不同的目
  • 如何将 iPhone 应用程序从 Xcode 部署到真实的 iPhone 设备?

    如果没有 99 美元的 Apple 证书 如何将 iPhone 应用程序从 Xcode 部署到真实的 iPhone 设备 I ve used a mix of two howtos Jason s https stackoverflow c
  • Couchbase 的 Twisted API 无法与 Python Tornado 一起使用

    我正在尝试使用 Couchbase 4 0 开发人员预览版运行 Tornado 服务器 import tornado web import tornado httpserver import tornado options import t
  • Apache HttpClient 和自定义端口

    我正在使用 Apache HttpClient 4 它工作正常 唯一不起作用的是自定义端口 似乎提取了根目录而忽略了端口 HttpPost post new HttpPost http myserver com 50000 HttpResp
  • 为什么通过translate3d改变div大小时会出现边距?

    当我更改 div 大小时 块之间会出现缩进 div class test2 test2 p hello p p hello p div 帮我看看怎么去掉 container perspective 600px transform style
  • 尝试使用 Selenium 循环配置文件列表

    我试图循环遍历所有个人资料并将人员姓名 工作资料和位置存储在列表中 这是我所在的 LinkedIn 屏幕的屏幕截图 这是我必须循环的 li html 标签 li class reusable search result container
  • 如何为多个AWS EC2实例设置共享持久存储?

    我有一项托管在 Amazon Web Services 上的服务 我有多个 EC2 实例运行着完全相同的设置和数据 由弹性负载均衡器和扩展组管理 这些实例是运行基于 PHP 的 Web 应用程序的 Web 服务器 因此 目前每个实例上都放置
  • 包含主 *.tex 文件的超级/子目录中的 *.sty 文件

    我想通过 git 与许多其他人分享乳胶文档 因此 我们决定将每个人的 Latex 安装中不存在的所有特殊 sty 文件放入资源目录中 如果这个目录是超级目录 那就太酷了 实际工作目录的 我究竟如何导入这些样式文件 重要的是 即使这些远程样式
  • 可用于测试 JavaScript 验证脚本的电子邮件地址列表

    有人有我可以用来测试 JS 地址验证脚本的电子邮件地址列表吗 我正在寻找尽可能完整的列表来测试最常见的边缘情况 如果不是所有情况 根据 RFC2822 有效的示例 电子邮件受保护 cdn cgi l email protection 电子邮
  • 有什么方法可以将 Rstudio 中的颜色更改为默认选项以外的颜色吗?

    有没有办法改变配色方案 for Rstudio 它配备了6 or 7默认 预先打包的主题 我想知道是否有任何东西可以让我自定义这些或一些可以让我自己制作的插件 有一种更快的方法可以解决这个问题 而且 100 可行 使用您最喜欢的编辑器主题打
  • 值类型后面的问号的用途是什么(例如:int?myVariable)?

    通常问号的主要用途是用于条件 x yes no 但我看到了它的另一种用途 但找不到这种用途的解释 例如 运算符 public int myProperty get set 这意味着所讨论的值类型是可空类型 https msdn micros
  • 如何通过我的切换帧函数将 Tkinter 条目值从一个帧传递到另一个帧

    我的 Tkinter 应用程序添加了笔记本 在笔记本内我想使用按钮切换框架 实现了笔记本开关和框架开关 当我单击 确定 按钮时 我想将笔记本的一帧输入输入到另一帧enter code here 我尝试将值作为框架类初始化的参数传递 将输入字
  • 淡入/淡出 ScrollView Swift UI

    当用户滚动文本时 是否可以淡入 淡出滚动视图顶部和底部的文本 Xcode 14 2 iOS 16 Swift 5 7 我研究了其他解决方案 例如 SwiftUI 淡出 ScrollView https stackoverflow com q
  • jQuery && 谷歌浏览器

    该脚本在除 Google Chrome 之外的所有浏览器中都能完美运行 document ready function banners anim img each function var hover width this width va
  • IE输入背景图片问题

    IE 是唯一需要额外维护的浏览器 应该有人为此付费 这是我的问题 我创建了一些带有背景图像的输入 它们适用于 FF Chorme IE9 未测试 Opera Safari 但不适用于 IE7 和 IE8 其中文本通过忽略填充或滚动图像而溢出
  • Nodejs Mongodb更新多个集合

    在 mongodb 中 现在有两个集合 事件和包 所以基本上模型看起来像这样 事件模型 const mongoose require mongoose mongoose Promise global Promise const Schema
  • scipy.interpolate.UnivariateSpline 不平滑,无论参数如何

    我在插值时无法让 scipy interpolate UnivariateSpline 使用任何平滑 基于函数的页面 http docs scipy org doc scipy reference generated scipy inter