java - 在 Java 中将数据拟合为非标准化学生 t 分布

标签 java distribution curve-fitting data-fitting

我正在尝试用 Java 重新实现一些 R 代码,因为它将集成到其他代码中,不受我控制,所以它确实需要用 Java 编写。

关键部分是将数据拟合到 non-standardized t-distribution使用数据的矩(均值、方差、偏度、峰度)。 IE。找到最适合数据的非标准化 t 分布参数。

我已经找到了使用 JRI 制作 R 代码的 Java 包装器的备份解决方案。但是有什么办法可以用纯 Java 代码做到这一点吗?

最佳答案

所以实际上一点也不复杂:

 /**
 * Returns the parameters of the Student T distribution which is fitted using the moments given.
 *
 * @param avg: estimated average.
 * @param variance: estimated variance.
 * @param kurtosis: estimated kurtosis.

 * @return double[] {location, scale, degrees of freedom}.
 * @throws Nothing!! (for now)
 */
public static double[] get_Tdistribution_params_from_moments(double avg, double variance, double kurtosis){
    double mu = avg; // localization parameter
    double nu = (6-4*kurtosis)/(3-kurtosis); // degree of freedom
    double sigma = Math.pow(((nu-2)/nu)*variance,0.5); // scale parameter
    return new double[] {mu,sigma, nu};
}

关于java - 在 Java 中将数据拟合为非标准化学生 t 分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32521552/

相关文章:

Java - HttpServer 不提供图像

matlab - 二值图像中的曲线拟合,MATLAB

algorithm - 找出具有混合线性和多项式时间的算法的时间复杂度

java - 如何构建 java web 服务并在 j2me 客户端中使用它(使用 netbeans)

java.lang.ClassCastException : java. lang.String 无法转换为 [Ljava.lang.Object;当尝试通过 Hibernate 将列值获取到列表时

java - 使用 objectify 检查唯一的玩家

iphone - iOS 的新分发证书

php - 分发文件使收件人无法阅读

python - 直方图未显示在 f 分布图中

python - 如何用Python确定拟合参数的不确定性?