松叶牡丹 发表于 2019-2-4 13:21:29

本帖最后由 松叶牡丹 于 2019-2-4 13:23 编辑

晨枫 发表于 2019-2-4 13:18
正是:看数据点然后脑补。人工就是这么干的。但操作工要照管的事情太多,一会儿不看,可能就错过了,就可 ...

降低精度,把一系列正态分布离散化为有限几个histogram,每次测试点先第一步进行范围判断,然后归到不同的histogram里面。再反向把histogram变换为对应的大致正态分布,这样可行吗?

晨枫 发表于 2019-2-4 13:23:16

tanis 发表于 2019-2-3 23:12
找温度第二,第三高的两个点,拟合个直线,取中间的那个位置

塔板是等间距分布的,这样我还不如直接取温度最高的那一块了

tanis 发表于 2019-2-4 13:27:54

晨枫 发表于 2019-2-4 13:23
塔板是等间距分布的,这样我还不如直接取温度最高的那一块了

哦哦。。。 那就取最高和第二个的中间位置{:191:} 有人工干预的时候就用人工,人忘了看就用这个。。。

晨枫 发表于 2019-2-4 13:28:01

松叶牡丹 发表于 2019-2-3 23:21
降低精度,把一系列正态分布离散化为有限几个histogram,每次测试点先第一步进行范围判断,然后归到不同 ...

一把抓住:我的问题正是从histogram变换为某种分布,最想poison分布或者log normal distribution,不行的话正态分布也行。有什么现成的计算方法吗?

晨枫 发表于 2019-2-4 13:29:03

tanis 发表于 2019-2-3 23:27
哦哦。。。 那就取最高和第二个的中间位置 有人工干预的时候就用人工,人忘了看就用这个。。。 ...

这也是个办法,总是有点“心有不甘”……{:219:}

晨枫 发表于 2019-2-4 13:33:41

松叶牡丹 发表于 2019-2-3 23:21
降低精度,把一系列正态分布离散化为有限几个histogram,每次测试点先第一步进行范围判断,然后归到不同 ...

唉,MATLAB里有histfit命令,干的正是我要的,可惜没法“偷”过来用啊

松叶牡丹 发表于 2019-2-4 13:36:06

晨枫 发表于 2019-2-4 13:33
唉,MATLAB里有histfit命令,干的正是我要的,可惜没法“偷”过来用啊

完全不会FORTRAN{:201:},这样啊,要不就得自己写算法了?

tanis 发表于 2019-2-4 13:37:22

晨枫 发表于 2019-2-4 13:33
唉,MATLAB里有histfit命令,干的正是我要的,可惜没法“偷”过来用啊

Matlab 直接有poissfit啊。。。

我感觉人类脑补的水平估计和取中值也差不了多少了{:213:}既然连忘了看也只是可能出问题,我脚的中值差不多{:189:} )(缺乏工匠精神的我。。。)

晨枫 发表于 2019-2-4 13:40:49

tanis 发表于 2019-2-3 23:37
Matlab 直接有poissfit啊。。。

我感觉人类脑补的水平估计和取中值也差不了多少了既然连忘了看也 ...

问题是我没法把MATLAB装进DCS里用啊。嗯,如果不行的话,可能也只能内插取中值了。{:216:}

松叶牡丹 发表于 2019-2-4 13:41:18

您这个采样数据如果有之前很长时间的大批量数据的话,要不选一部分建模,建立比如10个distribution式子,用剩下数据validate,看看是不是符合六西格玛质量控制要求?如果不行就提高精度,设20,30或者更多式子?我这是笨办法。

晨枫 发表于 2019-2-4 13:43:57

松叶牡丹 发表于 2019-2-3 23:41
您这个采样数据如果有之前很长时间的大批量数据的话,要不选一部分建模,建立比如10个distribution式子,用 ...

这个好像不行?我需要的是实时估计当前的峰值点,历史数据能帮什么忙呢?

gnomegordon 发表于 2019-2-4 13:55:23

如果问题是拟合若干点的光滑曲线 找到最大值,kernel density 就好,matlab里的histfit 也是基于这个算法。fortran里面library浩若烟海,查查肯定能找到。速度绝对够快,不需要POISSON 假设。

试着搜一下,这个fortran code 试试?: https://ideas.repec.org/c/boc/bocode/g00004.html

松叶牡丹 发表于 2019-2-4 14:07:31

晨枫 发表于 2019-2-4 13:43
这个好像不行?我需要的是实时估计当前的峰值点,历史数据能帮什么忙呢? ...

历史数据建模自己写算法做验证用。不过如果可以像楼上那位说的可以找到现成library调用,kernel density estimation和 guassian mixture model应该都可以。

晨枫 发表于 2019-2-4 14:16:53

gnomegordon 发表于 2019-2-3 23:55
如果问题是拟合若干点的光滑曲线 找到最大值,kernel density 就好,matlab里的histfit 也是基于这个算法。 ...

十分感谢!打开看到的是SRC文件,还在找FORTRAN……

晨枫 发表于 2019-2-4 14:19:36

松叶牡丹 发表于 2019-2-4 00:07
历史数据建模自己写算法做验证用。不过如果可以像楼上那位说的可以找到现成library调用,kernel density...

多谢!这个kernel density以前没有玩过,正在研究中……

Dracula 发表于 2019-2-4 14:24:18

本帖最后由 Dracula 于 2019-2-4 14:28 编辑

说实话,你这个题目我没看懂。

但如果你你单纯就是想实现

我就是要拟合一个“钟形曲线”,然后找峰值所在点。相当于上图中红线(或者lambda=2)里横轴1-2之间的位置。

其实应该挺容易。假设这个分布是log normal,如果你知道这个分布的参数, μ和 σ,你要想计算峰值(英语是mode),有现成公式,套公式就可以了(公式你可以上网查,比如Wikipedia上就有)。估计这个分布怎么做,我没看懂你的题目,不好说。但既然正态分布你知道能怎么做,log-normal没什么本质区别,就是公式不一样。简单的使用method of moments应该很容易就能推导出公式。实现就是简单的算术计算,不需要什么数值方法。

晨枫 发表于 2019-2-4 14:34:17

Dracula 发表于 2019-2-4 00:24
说实话,你这个题目我没看懂。

但如果你你单纯就是想实现


有了 μ和 σ想计算峰值就容易了,我的问题是如何从histogram计算log normal的 μ和 σ。看来这也是个办法,把数据log一下,再按normal做。我也想到过这个办法,就是不大确定。明天试试,上班的活儿用下班的时间试,可不划不来嘛。

松叶牡丹 发表于 2019-2-4 14:35:05

Dracula 发表于 2019-2-4 14:24
说实话,你这个题目我没看懂。

但如果你你单纯就是想实现


看题目意思应该是不知道参数的。{:201:}

松叶牡丹 发表于 2019-2-4 14:36:11

晨枫 发表于 2019-2-4 14:19
多谢!这个kernel density以前没有玩过,正在研究中……

晨大辛苦,您太客气了。祝新年快乐!{:237:}

gnomegordon 发表于 2019-2-4 14:39:24

晨枫 发表于 2019-2-4 14:16
十分感谢!打开看到的是SRC文件,还在找FORTRAN……

apologize. 网上搜code太麻烦,还得验证。最好有本书可以翻翻 或者搜library
页: 1 [2] 3 4 5 6
查看完整版本: 问题:如何从数据里估算普瓦松分布的均值?