繁体   English   中英

这是在python中拟合从高斯分布生成的数据的正确方法吗?

Is this the correct way of fitting data generated from gaussian distributions in python?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试编写一个 Python 程序来生成使用随机变量(具有高斯分布)和四次多项式方程(3x^4+x^3+3x^2+4x+5)之和的数据. 使用最小二乘多项式拟合,使用模型对生成的数据进行曲线化,直到您的模型可以准确预测所有值。 我是 python 的新手,真的很想赶上我的快节奏课程。 任何帮助和进一步的解释将不胜感激。 我在没有 for 循环的情况下尝试了它,它给出了两条曲线,但我认为它应该匹配初始点。 请看下面的代码:

import random
import matplotlib.pyplot as plt
import numpy as np

def rSquared(obs, predicted):
    error = ((predicted - obs)**2).sum()
    mean = error/len(obs)
    return 1 - (mean/np.var(obs))

def generateData(a, b, c, d, e, xvals):
    for x in xvals:
        calcVal= a*x**4 + b*x**3 + c*x**2 + d*x + e
        yvals.append(calcVal+ random.gauss(0, 35))
xvals = np.arange(-10, 11, 1)
yvals= []
a, b, c, d, e = 3, 1, 3, 4, 5
generateData(a, b, c, d, e, xvals)
for i in range (5):
    model= np.polyfit(xvals, yvals, i)
    estYvals = np.polyval(model, xvals) 
print('R-Squared:', rSquared(yvals, estYvals))
plt.plot(xvals, yvals, 'r', label = 'Actual values') 

plt.plot(xvals, estYvals, 'bo', label = 'Predicted values')
plt.xlabel('Variable x values')
plt.ylabel('Calculated Value of Polynomial')
plt.legend()
plt.show()

这个程序运行的结果是在这个没有 for 循环的图像myplot1 中,这就是我得到的myPlot2

1 个回复

是的,你只需要尝试

model = np.polyfit(xvals, yvals, i) # i=4 to get the perfect fit to values with R-Square of 4 : 0.9999995005089268.
1 如何从高斯分布中制作戒指

我在https://arxiv.org/pdf/1606.05908.pdf上看到了用 Gaussian 制作环的公式,但它不起作用,我找到了另一个从正态分布制作球体(环)的公式 它是使用 GCN 制作的。 我使用这个算法从正态分布中制作了一个环,但它也不起作用。 请帮我 ...

2 从高斯分布采样

我的问题很具体。 给定具有均值和标准差的k维高斯分布,假设我希望从该分布中采样10个点。 但是这10样本应该彼此非常不同。 例如,我不希望对非常接近均值的5样本进行采样(非常接近,我们可以假设此示例在1 sigma 内),如果我进行随机采样,可能会发生这种情况。 让我们还添加一个额外的约束,即所有抽 ...

3 如何在Python中拟合双高斯分布?

我试图使用Python获得数据( 链接 )的双高斯分布。 原始数据的格式如下: 对于给定的数据,我想获得图中所示峰值的两个高斯分布。 我尝试使用以下代码( 源代码 ): 但我无法获得所需的输出。 那么,如何在Python中获得双高斯分布? 更新 我能够使用以 ...

4 将逆高斯分布拟合到R中的数据

我试图在R中使用fitdist函数通过最大可能性将数据拟合为三个不同的分布,以将它们进行比较。 对数正态和Weibull可以很好地工作,但是我在逆高斯方面苦苦挣扎。 我需要指定起始值,但是当我收到错误消息时。 错误:“当输入的长度为零且未引发错误时,pinvgauss函数应返回零长度 ...

7 如何在R中的这2个场景中生成高斯分布的数据?

在Tibshirani的“统计学习要素”中,当比较最小二乘/线性模型和knn这两个场景时: 场景1:每个类中的训练数据是由具有不相关分量和不同均值的双变量高斯分布生成的。 场景2:每个类中的训练数据来自10个低方差高斯分布的混合,其中各个均值本身分布为高斯分布。 我们的 ...

9 在 Python 中使用多个高斯分布拟合数据

我有一些数据(data.txt) ,我正在尝试用 Python 编写代码,以不同的方式将它们与高斯轮廓拟合,以获得和比较每种情况下的峰值分离和曲线下面积: 具有两个高斯轮廓(考虑顶部的小峰并忽略肩部;红色轮廓) 具有两个高斯轮廓(忽略顶部的小峰并考虑顶部和肩部的整个单峰;黑色轮廓) 具 ...

10 将多元高斯分布拟合到给定的数据集

我需要拟合多元高斯分布,即为python中的给定音频特征数据集获取最近的多元高斯的均值向量和协方差矩阵。 音频特征(MFCC 系数)是一个 NX 13 矩阵,其中 N 大约为 4K。 有人可以概述一下在python中为这个数据拟合高斯的包和技术吗? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM