Recursion 峰度的f#-递推公式

Recursion 峰度的f#-递推公式,recursion,f#,statistics,Recursion,F#,Statistics,我现在正在修改我的函数,使之成为F#中的峰度函数。不幸的是,它再次返回错误的结果 这是我的密码 let kurtosis_aux (m, m2, m3, m4, k) x = m + (x - m)/k, m2 + ((x - m)*(x - m)*(k - 1.0))/k, m3 + ((x - m)*(x - m)*(x - m)*(k - 1.0)*(k - 2.0))/(k * k) - (3.0 * (x - m) * m2)/k,

我现在正在修改我的函数,使之成为F#中的峰度函数。不幸的是,它再次返回错误的结果

这是我的密码

 let kurtosis_aux (m, m2, m3, m4, k) x =
       m  + (x - m)/k,
       m2 + ((x - m)*(x - m)*(k - 1.0))/k,
       m3 + ((x - m)*(x - m)*(x - m)*(k - 1.0)*(k - 2.0))/(k * k) - (3.0 * (x - m) * m2)/k,
       m4 + ((x - m)*(x - m)*(x - m)*(x - m)*(k - 1.0)*(k * k - (3.0 * k) + 3.0))/(k * k * k) + 6.0 * (x - m)*(x - m)* m2/(k * k) - (4.0*(x - m)* m3)/k ,
       k + 1.0;;

 let kurtosis xs =
      let _, m2, m3, m4, n = Seq.fold kurtosis_aux (0.0, 0.0, 0.0, 0.0, 1.0) xs
      ((n - 1.0) * m4 / ( m2 * m2 )) - 3.0;;
最后,我在一个小向量上测试,应该得到大约2.94631

  kurtosis [|9.0; 2.0; 6.0; 3.0; 29.0|];;
但FSI返回-0.05369308728

该错误必须在峰度函数的m4部分或峰度函数本身中。其他变量都用于偏度函数中,并且工作正常


再次感谢您的帮助。

删除最后一行中的-3.0。
使用-3.0计算多余峰度。

应该再加一次,我使用Knuth的增量算法来计算矩,我的目标公式可以在这里找到哦。当你想起来的时候,有点明显。非常感谢您的帮助:)。