将分布拟合到直方图

2024-05-24

I want to know the distribution of my data points, so first I plotted the histogram of my data. My histogram looks like the following: my histogram

其次,为了使它们适合发行版,这是我编写的代码:

size = 20000
x = scipy.arange(size)
# fit
param = scipy.stats.gamma.fit(y)
pdf_fitted = scipy.stats.gamma.pdf(x, *param[:-2], loc = param[-2], scale = param[-1]) * size
plt.plot(pdf_fitted, color = 'r')

# plot the histogram
plt.hist(y)

plt.xlim(0, 0.3)
plt.show()

结果是:

我究竟做错了什么?


您的数据似乎不是伽马分布的,但假设是,您可以这样拟合:

import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt

gamma = stats.gamma
a, loc, scale = 3, 0, 2
size = 20000
y = gamma.rvs(a, loc, scale, size=size)

x = np.linspace(0, y.max(), 100)
# fit
param = gamma.fit(y, floc=0)
pdf_fitted = gamma.pdf(x, *param)
plt.plot(x, pdf_fitted, color='r')

# plot the histogram
plt.hist(y, normed=True, bins=30)

plt.show()
  • pdf 下的面积(整个域)等于 1。 如果使用,直方图下方的面积等于 1normed=True.

  • x有长度size(即 20000),以及pdf_fitted具有相同的形状x。如果我们打电话plot并仅指定 y 值,例如plt.plot(pdf_fitted),然后在 x 范围内绘制值[0, size]。 这个 x 范围太大了。由于直方图将使用 x 范围[min(y), max(y)],我们很多选择x跨越类似的范围:x = np.linspace(0, y.max()),并致电plot指定了 x 和 y 值,例如plt.plot(x, pdf_fitted).

  • 正如 Warren Weckesser 在评论中指出的那样,对于大多数应用程序,您知道伽玛分布的域从 0 开始。如果是这种情况,请使用floc=0持有loc参数为 0。无floc=0, gamma.fit将尝试找到最适合的值loc参数也是如此,考虑到数据的变化无常,它通常不会完全为零。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将分布拟合到直方图 的相关文章

  • DataFrame 在函数内部修改

    我面临一个我以前从未观察到的函数内数据帧修改的问题 有没有一种方法可以处理这个问题 以便初始数据帧不被修改 def test df df tt np nan return df dff pd DataFrame data 现在 当我打印时d
  • 编辑 scikit-learn 决策树

    我想编辑 sklearn DecisionTree 例如改变条件或切割节点 叶子等 但似乎没有功能可以做到这一点 如果我可以导出到文件 编辑它以导入 如何编辑决策树 环境 Windows 10 python3 3 sklearn 0 17
  • KFold 和 ShuffleSplit CV 有什么区别?

    看起来 KFold 每次迭代对象时都会生成相同的值 而 Shuffle Split 每次都会生成不同的索引 它是否正确 如果是这样 其中一个相对于另一个有什么用处 cv cross validation KFold 10 n folds 2
  • 为什么 tkinter / window.update 在我的程序中随着时间的推移变得更慢?

    我发现当我调用 window update 时 当向窗口写入的内容较少时 它的运行速度会更快 但后来 当我向窗口写入更多元素时 window update 需要更长的时间 请参阅下面的我的代码 您可以看到它在更新窗口之前一次向屏幕 100
  • Python + PostgreSQL + 奇怪的ascii = UTF8编码错误

    我有包含字符的 ascii 字符串 x80 代表欧元符号 gt gt gt print x80 当将包含该字符的字符串数据插入数据库时 我得到 psycopg2 DataError invalid byte sequence for enc
  • Python,将迭代函数变成递归函数

    我创建了一个输出 4 3 2 1 0 1 2 3 4 的迭代函数 def bounce2 n s n for i in range n print n n n 1 if n lt 0 for i in range s 1 print n n
  • 将 API 数据存储到 DataFrame 中

    我正在运行 Python 脚本来从 Interactive Brokers API 收集金融市场数据 连接到API后 终端打印出请求的历史数据 如何将数据保存到数据帧中而不是在终端中流式传输 from ibapi wrapper impor
  • Python sqlite3游标没有属性commit

    当我运行这段代码时 path Scripts wallpapers single png conn sqlite3 connect Users Heaven Library Application Support Dock desktopp
  • 如何找到列表S的所有分区为k个子集(可以为空)?

    我有一个唯一元素列表 比方说 1 2 我想将其拆分为 k 2 个子列表 现在我想要所有可能的子列表 1 2 1 2 2 1 1 2 我想分成 1 1 2 我怎样才能用 Python 3 做到这一点 更新 我的目标是获取 N 个唯一数字列表的
  • 为什么我的scoped_session 引发 AttributeError: 'Session' object has no attribute 'remove'

    我正在尝试建立一个系统 将数据库操作优雅地推迟到单独的线程 以避免在 Twisted 回调期间发生阻塞 到目前为止 这是我的方法 from contextlib import contextmanager from sqlalchemy i
  • Django 的 URL 覆盖率测试为 0%,为什么?

    使用姜戈鼻子 我对 URL 进行了测试 但 URL 覆盖率仍然为 0 为什么 python manage py 测试配置文件 这是我的报道 Name Stmts Miss Cover Missing profiles 0 0 100 pro
  • 如何使用循环将十进制转换为二进制?

    我想编写一个程序 将十进制数 0 到 9 转换为二进制数 我可以编写如何使用重复除法将十进制数转换为二进制数的代码 但是 我在创建一个以二进制格式打印十进制数字 0 到 9 的循环时遇到了麻烦 这是我的代码 number 0 remaind
  • 如何使用 Python 多处理避免在分叉进程中加载​​父模块

    当您创建一个Pool使用Python的进程multiprocessing 这些进程将分叉 父进程中的全局变量将显示在子进程中 如下面的问题所述 如何限制多处理进程的范围 https stackoverflow com questions 2
  • Django - 电子邮件发送两次

    每当我使用如下所示的电子邮件设置从views py调用下面的方法时 电子邮件的两份副本都会发送给收件人 并且我收到如下所示的错误 def sendEmailBasic request msg EmailMessage Request Cal
  • 在Python中删除带有重音符号的字符串中的所有非字母字符

    我正在尝试使用 Python 3 7 从包含重音符号的字符串中删除所有非字母字符 空格除外 我尝试了以下方法 import re text 29 1981 4 2008 clean text re sub W d text print cl
  • 如何强制 Y 轴仅使用整数

    我正在使用 matplotlib pyplot 模块绘制直方图 我想知道如何强制 y 轴标签仅显示整数 例如 0 1 2 3 等 而不显示小数 例如 0 0 5 1 1 5 2 等 我正在查看指导说明并怀疑答案就在附近matplotlib
  • 如何设置 matplotlib 表中列的背景颜色

    我在一个目录中有多个 txt 文件 例如 d memdump 0 txt 1 txt 10 txt 示例文本文件如下 Applications Memory Usage kB Uptime 7857410 Realtime 7857410
  • scipysolve_ivp() 中的访问时间步长

    我有一个常微分方程系统 正在使用 scipy 的solve ivp 函数求解 它运行良好 但我在访问每个步骤中使用的时间步时遇到问题 我知道solve ivp 将当前时间传递给用户定义的函数 但我需要使用的时间步长 而不是当前时间 为了解决
  • Python 枚举子集迭代

    我想迭代以下枚举的子集 class Items enum Enum item1 0 item2 1 item3 2 item4 3 item5 4 item6 5 item7 6 item8 7 说我想 for item in Items
  • 从 pandas 数据框中绘制堆积条形图

    我有数据框 payout df head 10 复制以下 Excel 绘图的最简单 最智能和最快的方法是什么 我尝试过不同的方法 但无法让一切都到位 Thanks 如果您只想要一个堆积条形图 那么一种方法是使用循环来绘制数据框中的每一列 并

随机推荐

  • MS Office 使用 WebDAV 以只读方式打开文档

    我们实现了自己的 WebDAV 服务器 某些使用 Office Word Excel 的用户以只读方式打开文档 对于有问题的计算机 接下来的查询是 OPTIONS http pastie org 10957339 http pastie o
  • addToBackStack 之后的 popBackStack() 不起作用

    我的项目包含两个片段 FragmentA 应用启动时默认加载的fragment FragmentB 替换fragmentA当单击按钮完成时 这是我的主视图的 XML
  • 为什么我不能“string”.print()?

    我的理解print 在 Python 和 Ruby 以及其他语言 中 它是字符串 或其他类型 上的方法 因为它的语法非常常用 打印 嗨 works 那么为什么不呢 hi print 在 Python 中或 hi print在红宝石工作 当你
  • 检测计算机是否可以正确支持 3D 变换

    当我检测到 webkit 时 我使用 3D Transforms 属性添加额外的样式表 尽管它在许多不同的计算机上运行良好 全部使用相同的 chrome 版本 有些无法正确渲染动画 这些是较旧的计算机 具有更便宜的显卡 我猜这就是导致问题的
  • 在 Spring 云中保护 Eureka

    我很好奇有哪些选项可以保护连接 注册和获取迪斯科信息 到尤里卡的服务 显然我想在 Eureka 中打开安全性并指定服务的用户名密码 我的一个问题是尝试连接到尤里卡的服务如何指定其凭据 是通过区域的规范吗 这个引用的格式是什么 我实际上是上述
  • Chrome 模拟设备的 OnePlus 3 和 OnePlus 5 视口尺寸

    我想将 OnePlus 3 和 OnePlus 5 作为自定义设备添加到 Google Chrome 的模拟设备列表中 请提供视口大小 以便我可以用它来测试我的网站 像素 2 显示尺寸示例 提前致谢 我正在寻找同样的东西 我发现了这个 ht
  • (Django) AJAX 请求的 CSRF 验证在 Chrome 中工作,但在 Firefox 中不起作用

    正如标题所述 我的 Django CSRF 验证在 Chrome 中有效 但在 Firefox 中无效 我想知道原因 以便解决此问题 我已将此包含在head我的标签基本 html我的应用程序中的所有其他文件都从中扩展的文件 base htm
  • Windows 服务在程序集加载时锁定

    我有一个用 C 编写的 Windows 服务 它还包括一个独立的控制台模式 用于调试目的 它在几乎每台运行它的计算机上都运行良好 但我们遇到了一种情况 当您尝试启动该服务时 它会锁定 然后由于超时而被终止 但是当在同一台机器上以控制台模式运
  • 使用 Mongoose 在 JSLint 中抑制“需要一个标识符,而是看到“默认”(保留字)”

    我在用着jshint验证我的 JavaScript 文件 在服务器端 我使用 Node js 和 Mongoose 在 Mongoose 中 我被鼓励以如下方式编写模式 var UserSchema new mongoose Schema
  • 如何在Windows命令行中执行for循环?

    我想知道这是否可能 我不熟悉使用 Windows 命令行 但我必须将它用于我正在处理的项目 我有许多文件 我需要为每个文件执行一个功能 我习惯使用 python 但显然这有点不同 所以我希望得到一些帮助 基本上 我需要 for 循环来迭代文
  • 如何阻止地址自动填充谷歌地点

    所以我在我的表单上有一个谷歌地图自动完成功能 当它到达一个位置时 它会占据该位置并格式化它 以便所有正确的信息都进入表单上的不同输入 我遇到的问题是在 place changed 事件触发自动完成填充输入之前 我想阻止最初的人口 而是填充我
  • 如何在 .Net Core 3、Visual Studio 2019 和 docker 中使用“dotnet watch run”

    我正在使用 Visual Studio 2019 来使用 docker 和 NET Core 3 我通过将 Dockerfile 添加到我的项目 右键单击项目 gt 添加 gt Docker 支持 来容器化我的应用程序 并且我能够启动它 但
  • 使用Python进行图像识别[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个想法 就是我想识别图像中的字母 可能是 bmp或 jpg 例如 这是一个包含字母 S 的 bmp 图像 我想做的是使用Pyth
  • 模板、decltype 和非类类型

    我有一个像这样的函数定义 template
  • Java byte[] 与 String 之间的转换

    为什么这个junit测试失败了 import org junit Assert import org junit Test import java io UnsupportedEncodingException public class T
  • 引发一系列事件 Backbone event:name

    extend object Backbone Events object on myalert one function msg document body innerHTML eve1 msg msg name this name con
  • 如何使用AVAssetWriter将h264流写入视频?

    我想将 h 264 流从服务器传输到视频文件 但是当我使用assetwrite finishwrite XCode 报告 Video var mobile Applications DE4196F1 BB77 4B7D 8C20 7A5D6
  • 获取TextView的高度

    我有一些文字将被放入TextView 我这样做是使用setText 现在我需要找到文本在文本中占据的行数或高度TextView 我尝试使用getHeight 但它总是返回 0 无论如何 有没有办法获得文本中存在的文本的高度TextView
  • 使用 OpenCV 进行相机校准 - 如何调整棋盘方块大小?

    我正在使用 OpenCV Python 示例开发相机校准程序 来自 OpenCV 教程 http opencv python tutroals readthedocs io en latest py tutorials py calib3d
  • 将分布拟合到直方图

    I want to know the distribution of my data points so first I plotted the histogram of my data My histogram looks like th