PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Python
Re: [问题] 关于科学计算 --- 拟合 (fit)
楼主:
painkiller
(肚子饿~)
2016-01-01 03:51:44
x,y各自有误差值的情况其实还蛮复杂的
一般双变量线性回归有以下几种
1. x, y 无误差
2. x为自变量无误差,y有误差
3. x,y均为科学观测所得数据,两者均有各自误差值
1最单纯,刚刚有人提到的scipy.lingress就可以
有在用pandas的话也有内建的 OLS (ordinary least squre)
一些常见的绘图package也有 (如seaborn)
自己选一个喜欢的即可
2稍微复杂一点,你想要的应该是
weighted least square,
基本上要自己照weighted least square的公式写个function
然后用scipy.optimize.minimize之类东西去
针对输入的资料minimize
3最麻烦,不过学会3 基本上1,2都可以轻松处理
scipy内建比较万用的是scipy.odr.ODR (orthogonal distance regression)
或是像之前推文有人提到的total least squares
最近越来越流行的是MCMC/Bayesian approach
但是对MCMC没啥基础的话可能得花点时间学一下
不过如果只是想知道MCMC的结果
可以试试一些现有的MCMC package
比如说这个专门用MCMC求上述3.的斜率与截距的误差的function:
https://github.com/jmeyers314/linmix
当然以上都是假设x跟y的量测误差是独立的,非独立的状况又更复杂了...
Good luck~
不知道scikitlearn有没有更直接的做法就是了
※ 引述《modflow (星期一男孩)》之铭言:
: ※ 引述《nomoyang (恩)》之铭言:
: : 大家好,请教大家常用的科学计算模组有那些呢?
: : 我的需求:
: : 拟合函数 :y = a*x + b
: : 提供的观测值:x、y (x与y都各自有误差值)
: : 欲利用拟合找出来的值:
: : 1、参数值 a、b
: : 2、a与b的误差值
: : 3、chi square χ2 (或 reduced chi square)
: : 谢谢大家 ^^
: 这看起来是线性回归
: 用Scipy的linregress即可
: 详细请看
: http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.linregress.html
楼主:
painkiller
(肚子饿~)
2016-01-01 04:01:00
补充一下,x跟y的误差都不小的时候比较有必要用MCMC如果误差不大用MCMC没什么特别好处,只是慢而已 :P
作者:
nomoyang
(恩)
2016-01-01 09:09:00
谢谢你,我就是需要3 ^^
作者: yogi (Yogi)
2016-01-02 14:26:00
2的话可以用numpy自己的linag函式库做pseudo-inverse matrix至于3的话, 可以用scipy的Orthogonal distance regression
http://docs.scipy.org/doc/scipy/reference/odr.html
作者:
ENEP
(Moo)
2016-01-02 14:40:00
推
楼主:
painkiller
(肚子饿~)
2016-01-03 13:55:00
追加补充一点,MCMC还有个好处就是可以取upper limit有点像是所谓的survival analylsis的概念如果有的资料只有x有值,y只知道小于某个数字MCMC可以把这点考虑进去做regression
作者:
andrew43
(讨厌有好心推文后删文者)
2016-01-13 15:16:00
这也叫 model II regression
继续阅读
Re: [问题] 关于科学计算 --- 拟合 (fit)
modflow
[问题] 关于科学计算 --- 拟合 (fit)
nomoyang
retrieve如何设timeout并重试?
yodxxxd
Fw: [情报] 2016 Taiwan CodeWars by HPE & HPI 第四届正式开跑
yuntin
[问题] python执行mssql的storedprocedures
superge
[问题] 网页资料撷取问题
ajsaak
[问题] 二维 list 排序
obelisk0114
Re: [问题] 如何强制使用 with statement
uranusjr
[问题] django移植到别的主机的问题
alair99
[问题] 安装goslate失败
allan80625
Links
booklink
Contact Us: admin [ a t ] ucptt.com