Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在Python中使用最小二乘法通过线性方程匹配两个数据集
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有两个一维向量。一个包含通过测量系统测量的数据。另一个向量包含一种校准数据,它们在“形状”和时间上完全相同(基本上是一个单一脉冲,在两个矢量中,这些脉冲在时域内同步)。在</p> <p>我想通过简单的原始数据转换(校准数据-偏移)*增益,将校准数据曲线与原始测量数据相匹配</p> <p>我需要使用“最佳方法”来找到偏移量和增益参数,以便两个记录道看起来尽可能相似。为此,我认为必须将两个数据集的最小平方标量和(F(增益,偏移量)(校准_I)-测量值_I)**2)最小化。通过调整转换函数的增益和偏移量,可以实现最小化。在</p> <p>我已经实现了这种暴力算法:</p> <pre><code> offset = 0 gain = 1.0 firstIteration = True lastlstsq = 0 iterations = 0 for ioffset in np.arange(-32768, 32768, 50): for igain in np.arange(1,5,0.1): # prepare the trace by transformation: int1 = map(lambda c: (c - ioffset) * igain, self.fetcher.yvalues['int1']) # this is pretty heavy computation here lstsq = sum(map(lambda c: c**2, map(sub, self.fetcher.yvalues['int0'],int1))) if firstIteration == True: # just store lastlstsq = lstsq offset = ioffset gain = igain firstIteration = False else: # what lstsq: if lstsq < lastlstsq: # got better match: lastlstsq = lstsq offset = ioffset gain = igain print "Iteration ", iterations, " squares=", lstsq, " offset=", offset, " gain=", gain iterations = iterations + 1 </code></pre> <p>它找到了最好的匹配,但它太慢了,也不太精确,因为我想找到0.01步的igain和0.5步的ioffset。对于这个解决方案,这个算法是完全无用的。在</p> <p>有没有办法用Python的方式来解决这种优化问题?(或者,有没有更好的方法来找到增益和偏移的值,使之最佳匹配?)在</p> <p>不幸的是,我只限于numpy(不是scipy),但是任何形式的暗示都是值得感谢的。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果两个信号应该是同一个形状,只是y移动和y缩放,你应该会发现</p> <pre><code>gain = std_dev(measured) / std_dev(calibration) offset = average(calibration - (measured / gain)) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我想从用户inpu创建一个类的实例
2 回答
我想从用户导入值,为此
9 回答
我想从用户那里得到一个整数输入,然后让for循环遍历该数字,然后调用一个函数多次
8 回答
我想从用户那里收到一个列表,并在其中执行一些步骤,然后在步骤完成后将其打印回来,但它没有按照我想要的方式工作
3 回答
我想从用户那里获取输入,并将值传递给(average=dict[x]/6),然后在那里获取resu
10 回答
我想从第一个列表中展示第一个词,然后从第二个列表中展示十个词,以此类推- Python
4 回答
我想从第一个空lin开始解析文本文件
7 回答
我想从简历、简历中提取特定部分
2 回答
我想从给定字典(python)的字符串中删除\u00a9、\u201d和类似的字符。
8 回答
我想从给定的网站Lin下载许多文件扩展名相同的Wget或Python文件
10 回答
我想从网上搜集一些关于抵押贷款的数据
4 回答
我想从网站上删除电子邮件地址
9 回答
我想从网站上读取数据该网站包含可下载的文件,然后我想用python脚本把它发送给oracle如何?
2 回答
我想从网站中提取数据,然后将其显示在我的网页上
4 回答
我想从网页上提取统计数据。
9 回答
我想从网页上解析首都城市,并在用户输入国家时在终端上打印它们
10 回答
我想从色彩图中删除前n个颜色,而不丢失原始颜色数
4 回答
我想从课堂上打印字典里的键
5 回答
我想从费用表中获取学生上次支付的费用,其中学生id=id
5 回答
我想从较低的顺序对多重列表进行排序,但我无法在一行中生成结果
5 回答