Python - 根据这些值拟合 GEV 分布

2024-01-06

我对 Python 很陌生,我在互联网上浏览过,但找不到任何可以帮助我解决问题的逻辑。

我在图中有降水值,现在我需要根据图中的这些值拟合 GEV 分布。每个值等于从 1974 年到 2017 年的一年的最大值(因此总共有 43 个值)。

这些是值:

max_precip = [9.4, 38.0, 12.5, 35.3, 17.6, 12.9, 12.4, 19.6, 15.0, 13.2, 12.3, 16.9, 16.9, 29.4, 13.6, 11.1, 8.0, 16.6, 12.0, 13.1, 9.1, 9.7, 21.0, 11.2, 14.4, 18.8, 14.0, 19.9, 12.4, 10.8, 21.6, 15.4, 17.4, 14.8, 22.7, 11.5, 10.5, 11.8, 12.4, 16.6, 11.7, 12.9, 17.8]

我发现我需要使用 gev.fit,所以我想使用以下内容:

t = np.linspace(1,43,43)
fit = gev.fit(max_precip,loc=3)
pdf = gev.pdf(t, *fit)
plt.plot(t,pdf)
plt.plot(t, max_precip, "o")

但这仅打印图表中 max_precip 的点,而不打印 GEV 分布。

有人能帮我吗?抱歉,如果这个问题已经被问过,我找不到类似的问题。

我使用了这些进口:

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

from dateutil.rrule import rrule, YEARLY
import datetime
from matplotlib.dates import DateFormatter
from scipy.stats import genextreme as gev
from scipy.stats import genpareto as gpd
from scipy.optimize import minimize

我试图适应你的数据

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import genextreme as gev

def main(rvs):
    shape, loc, scale = gev.fit(rvs)
    return shape, loc, scale

if __name__ == '__main__':
    rvs = [9.4, 38.0, 12.5, 35.3, 17.6, 12.9, 12.4, 19.6, 15.0, 13.2, 12.3, 16.9, 16.9, 29.4, 13.6, 11.1, 8.0, 16.6, 12.0, 13.1, 9.1, 9.7, 21.0, 11.2, 14.4, 18.8, 14.0, 19.9, 12.4, 10.8, 21.6, 15.4, 17.4, 14.8, 22.7, 11.5, 10.5, 11.8, 12.4, 16.6, 11.7, 12.9, 17.8]

    shape, loc, scale = main(rvs)

    print(shape)
    print(loc)
    print(scale)

    l = loc + scale / shape

    xx = np.linspace(l+0.00001, l+0.00001+35, num=71)
    yy = gev.pdf(xx, shape, loc, scale)

    hist, bins = np.histogram(rvs, bins=12, range=(-0.5, 23.5), density=True)
    plt.bar(bins[:-1], hist, width = 2, align='edge')

    plt.plot(xx, yy, 'ro')
    plt.show()

但我得到的是

-0.21989526255575445
12.749780017954315
3.449061347316184

for shape, loc and scale。如果你看scipy 中定义的 GEV 分布 https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.genextreme.html,当shape为负数时,有效区间为[loc + scale/shape...+infinity]。我计算了后一个值,它等于

-2.935417290135696

应该管用...

Python3、Anaconda、scipy 1.1、Windows 10 64 位

UPDATE

好的,我已经更新了代码并添加了绘图,看起来有些合理。这是您要找的吗?基本上,技巧是对其进行直方图绘制并绘制与 PDF 重叠的密度箱

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

Python - 根据这些值拟合 GEV 分布 的相关文章

  • 在 numpy 数组中查找满足条件的大量连续值

    我在 numpy 数组中加载了一些音频数据 我希望通过查找静音部分 即一段时间内音频幅度低于特定阈值的部分 来对数据进行分段 一个非常简单的方法是这样的 values join 1 if abs x lt SILENCE THRESHOLD
  • 如何查找 pandas 数据框中连续相同字符串值的计数?

    假设我们有以下 pandas 数据框 df pd DataFrame col1 A gt G C gt T C gt T G gt T C gt T A gt G A gt G A gt G col2 TCT ACA TCA TCA GCT
  • 按 ListProperty (NDB) 对查询进行排序

    如何按 ListProperty 对查询进行排序 该模型 class Chapter ndb Model title ndb StringProperty required True version ndb IntegerProperty
  • 使用 python 通过搜索端点从 Spotify API 获取曲目

    因此 我尝试使用 API 的搜索端点进行搜索 从而从 Spotify API 获取曲目 请参阅文档 https developer spotify com documentation web api reference search sea
  • 运行源代码中包含 Unicode 字符的 Python 2.7 代码

    我想运行一个在源代码中包含 unicode utf 8 字符的 Python 源文件 我知道这可以通过添加评论来完成 coding utf 8 在一开始的时候 但是 我希望不使用这种方法来做到这一点 我能想到的一种方法是以转义形式编写 un
  • Keras,如何获取每一层的输出?

    我已经用 CNN 训练了一个二元分类模型 这是我的代码 model Sequential model add Convolution2D nb filters kernel size 0 kernel size 1 border mode
  • 在 C# 中实例化 python 类

    我已经用 python 编写了一个类 我想通过 IronPython 将其包装到 net 程序集中 并在 C 应用程序中实例化 我已将该类迁移到 IronPython 创建了一个库程序集并引用了它 现在 我如何真正获得该类的实例 该类看起来
  • 指定 Parquet 属性 pyspark

    如何在 PySpark 中指定 Parquet 块大小和页面大小 我到处搜索 但找不到任何有关函数调用或导入库的文档 根据火花用户档案 https mail archives apache org mod mbox spark user 2
  • 从文档字符串生成 sphinx 文档不起作用

    我有一个具有以下结构的项目 我想保留 my project build here is where sphinx should dump into requirements txt make bat Makefile more config
  • 如何在 Numpy 中实现垃圾收集

    我有一个名为main py 它引用另一个文件Optimisers py它仅具有功能并用于for循环进入main py 这些函数都有不同的优化功能 This Optimisers py然后引用另外两个类似的文件 其中也只有函数 它们位于whi
  • 将 ASCII 字符转换为“”unicode 表示法的脚本

    我正在对 Linux 区域设置文件进行一些更改 usr share i18n locales like pt BR 并且需要格式化字符串 例如 d m Y H M 必须以 Unicode 指定 其中每个 在本例中为 ASCII 字符表示为
  • if/else 在 while 循环内正确缩进[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我开始学习 Python 编程大约几周了 我遇到了一些麻烦 下面的代码是一个小程序 用于检查列表中是否有偶数 如果找到第一个偶数
  • 通过套接字发送字符串(python)

    我有两个脚本 Server py 和 Client py 我心中有两个目标 能够从客户端一次又一次地向服务器发送数据 能够将数据从服务器发送到客户端 这是我的 Server py import socket serversocket soc
  • tweepy 流到 sqlite 数据库 - 语法错误[重复]

    这个问题在这里已经有答案了 可能的重复 tweepy 流到 sqlite 数据库 语法无效 https stackoverflow com questions 9434205 tweepy stream to sqlite database
  • 对 pandas 数据框中的每一列应用函数

    我如何以更多的熊猫方式编写以下函数 def calculate df columns mean self df means for column in df columns columns tolist cleaned data self
  • 带有整数的 np.sqrt 和 where 条件返回错误结果

    当我将 numpy sqrt 方法应用于带有 a 的整数数组时 我得到了奇怪的结果where健康 状况 见下文 对于整数 a np array 1 4 9 np sqrt a where a gt 5 Out 3 array 0 0 5 3
  • 如何在 Python 中解析损坏的 XML?

    我无法影响的服务器发送的 XML 非常损坏 具体来说 Unicode WHITE STAR 将被编码为 UTF 8 E2 98 86 然后使用 Latin 1 转换为 HTML 实体表 我得到的是 acirc 98 86 9 个字节 位于声
  • 升级后 pip 损坏

    我做了 pip install U easyinstall 然后 pip install U pip 来升级我的 pip 但是 当我尝试使用 pip 时 我现在收到此错误 root d8fb98fc3a66 which pip usr lo
  • 在 Gensim 中通过 ID 检索文档的字符串版本

    我正在使用 Gensim 进行一些主题建模 并且已经达到使用 LSI 和 tf idf 模型进行相似性查询的程度 我取回 ID 集和相似点 例如 299501 0 64505910873413086 如何获取与 ID 在本例中为 29950
  • 如何获取所有Python标准库模块的列表?

    我想要类似的东西sys builtin module names标准库除外 其他不起作用的事情 sys modules 只显示已经加载的模块 sys prefix 包含非标准库模块并且似乎无法在 virtualenv 内工作的路径 我想要这

随机推荐

  • PrimeNG p-table:重置表过滤器时如何清除 p-下拉过滤器值?

    我正在使用 PrimeNGp table标题行同时具有input and p dropdown过滤器并需要清除过滤器值input and p dropdown当呼叫 reset 方法在桌子上 正如其他人指出的那样 https stackov
  • 表达式“j = ++(i | i); 和 j = ++(i & i); 应该是左值错误?

    我期待在我的以下代码中 include
  • Flutter:如何在运行时更改主题亮度?

    我有一个MaterialApp with a ThemeData最初设置为Brightness light 我想将亮度切换为Brightness dark在运行时 但是当我进行更改时 只有状态栏发生变化 没有一个 Flutter 小部件实际
  • 当状态更改时,如何防止命名视图重新加载? AngularJS UI 路由器

    我正在使用优秀的ui router我的应用程序中的模块 作为其中的一部分 我使用命名视图来管理应用程序中的 动态子导航 考虑以下 urlRouterProvider otherwise person list stateProvider s
  • Android-在列表视图点击上打开新活动

    我试图做到这一点 以便当我单击列表视图中的特定项目时 它会将我带到特定的屏幕 有谁知道如何做到这一点 我为此使用下面的代码 此外 我试图让一个后退按钮出现在列表视图的底部 到目前为止 我只能让它出现在列表视图中的每个条目上 我们将不胜感激
  • 如何将任意方法(或委托)作为参数传递给函数?

    我需要能够将任意方法传递给某个函数myFunction void myFunction AnyFunc func 应该可以使用其他静态 实例 公共或私有方法甚至委托来执行它 myFunction SomeClass PublicStatic
  • Auth 弹出返回空白页

    当我向谷歌提交身份验证调用时 我从谷歌窗口中收到弹出窗口 然后当我提交我的凭据并按 提交 时 它会转发到类似的内容 https auth firebase com v2 FIREBASEREF auth google callback st
  • 在 Azure Active Directory 中删除应用程序的 AppRole

    从应用程序清单中删除 AppRole 会产生 400 Bad Request 并显示以下错误 除非先禁用属性值 否则无法删除该属性值 当我将 isEnabled 属性设置为 false 然后单击 保存 时 我会成功保存并显示 200 OK
  • Bootstrap 可切换选项卡 - 删除轮廓/焦点?

    我正在使用可切换选项卡Twitter 的 Bootstrap http twitter github com bootstrap javascript html tabs 我遇到的问题 即使你也可以从例子中看到 当用户单击选项卡时 活动选项
  • 当出于样式目的而隐藏时,IE 无法发送文件上传

    好吧 我很困惑 所以我要提出另一个有关文件文件上传表单元素样式的问题 经过一番尝试后 我终于 认为 它可以工作了 但像往常一样 IE 将再次开始抗议 问题是 我将拥有以下形式 它用 css 隐藏真实的文件输入 因此它使用 fileHidde
  • 如何在列表中查找多个最大值项目[重复]

    这个问题在这里已经有答案了 我试图弄清楚如何获取整数列表并将该列表中的所有项目返回到另一个列表中作为它们的最大值 但带有它们的索引 因此 我需要能够在不使用枚举 lambda numpy 或任何此类内容的情况下完成此操作 它必须是非常基本的
  • 列表中的元素测试

    对于我正在编写的样式表 实际上是一组样式表 每个样式表生成不同的输出格式 我需要评估某个值是否存在于值列表中 在这种情况下 正在测试的值取自元素的属性 要测试的列表来自样式表的调用 并被视为顶级
  • C 中的对齐属性 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我在 SO 中看到了很多关于对齐属性
  • SASS 和@font-face

    我有以下 CSS 我如何在 SASS 中描述它 我尝试用 css2sass 反向编译它 但不断收到错误 这是我的 CSS 可以工作 吗 font face font family bingo src url bingo eot src lo
  • React:“重定向”未从“react-router-dom”导出

    我在运行时收到以下错误npm run start在终端中 尝试导入错误 重定向 未从 react router dom 导出 我已经重新安装了node modules react router dom react router 还重新启动了
  • 什么是 CUDA 上下文?

    谁能解释一下或者给我推荐一些关于什么是 CUDA 上下文的好资料 我搜索了 CUDA 开发者指南 但对它并不满意 任何解释或帮助都会很棒 cuda API 公开了有状态库的功能 两个连续的调用彼此相关 简而言之 上下文就是它的状态 The
  • iOS:如何将 MKMapPoint 或 CLLocationCooperative2D 转换为 UTM?

    根据我的阅读 这需要一些我不擅长的复杂数学 所以 我在这里问 有人有将 MKMapPoint 或 CLLocationCooperative2D 转换为 UTM 值的经验吗 我找到了这个资源 http www uwgb edu dutchs
  • 什么是 csv 文件以及如何使用 java 代码解析它? [复制]

    这个问题在这里已经有答案了 可能的重复 快速 CSV 解析 https stackoverflow com questions 6857248 fast csv parsing 如何正确地将 CSV 文件解析为二维数组 https stac
  • 了解非阻塞 Web 服务调用与非阻塞 JDBC 之间的区别

    我试图从概念上理解为什么在 Play Framework 2 0 中 调用被认为是最佳实践WS url get 对于 Web 服务调用 但是如果您将任何其他阻塞调用 例如 JDBC 调用 包装在 Promise 中 是否建议您在默认执行上下
  • Python - 根据这些值拟合 GEV 分布

    我对 Python 很陌生 我在互联网上浏览过 但找不到任何可以帮助我解决问题的逻辑 我在图中有降水值 现在我需要根据图中的这些值拟合 GEV 分布 每个值等于从 1974 年到 2017 年的一年的最大值 因此总共有 43 个值 这些是值