关于离散概率模型的一些介绍

离散概率模型是概率论中的一类重要模型,专门用于描述随机变量取离散值的情况。这类模型在许多领域都有广泛的应用,比如统计学、机器学习、数据挖掘等。在这篇文章中就将介绍离散概率模型有关的东西,具体包括:马尔科夫链、部件与系统的可靠性建模以及线性回归等内容。

一、马尔科夫链

在之前的文章中,我曾有介绍过马尔科夫链有关的信息,所以在这里我只用一句话来简单说明下:马尔科夫链是一种随机过程,其中系统在各个时刻的状态仅依赖于前一个时刻的状态,而与更早的状态无关。

我们关于马尔可夫链可以写出转移矩阵,例如这样:

在这样的一个马尔科夫链中,我们可以总结写出状态转移矩阵如下:

当前状态\下一状态下雨晴天
下雨0.60.4
晴天0.30.7

 那么接下来我们来说在离散概率模型中的马尔可夫链的具体应用:

排队论:描述顾客到达和服务过程;

自然语言处理:用于文本生成和语言模型;

金融:用于股票价格预测和风险管理。

接下来,关于排队论再细说下:

状态转移:在排队系统中,系统的状态可以定义为客户数量、服务台的状态等。这些状态之间的转移可以用马尔科夫链来描述。例如,当一个新客户到达时,系统状态从 n 个客户变为 n+1 个客户;当一个客户完成服务离开时,系统状态从 n 个客户变为 n−1个客户。

记忆性假设:马尔科夫链的一个关键特性是无后效性(即未来状态仅依赖于当前状态,而不依赖于过去的任何状态)。在排队系统中,假设到达时间和服务时间是独立的,并且服从某种概率分布(如泊松分布或指数分布),这样就可以用马尔科夫链来简化模型,使其更容易分析和求解。

稳态分析:通过马尔科夫链,可以分析排队系统的稳态行为,即系统在长时间运行后的稳定状态。例如,可以计算系统中平均客户数量、平均等待时间等性能指标。

平衡方程:马尔科夫链的平衡方程(也称为稳态方程)可以帮助求解排队系统在稳态下的概率分布。这些方程描述了系统在不同状态之间的概率平衡关系。

具体例子:

假设有一个简单的单服务台排队系统(M/M/1),其中:

到达过程是泊松过程,到达率为 λ。

服务时间服从指数分布,服务率为 μ。

这个系统的状态可以用队列中的客户数量来表示。由于泊松过程和指数分布都具有无后效性,因此可以用马尔科夫链来建模这个系统。具体来说,状态转移矩阵可以描述如下:

从状态 n 到状态 n+1 的转移概率为 λ。

从状态 n 到状态 n−1 的转移概率为 μ。

通过求解马尔科夫链的平衡方程,可以得到系统在稳态下的概率分布,从而进一步计算出各种性能指标,如平均等待时间、平均队列长度等。

二、部件与系统的可靠性建模

可靠性建模是评估和预测系统或部件在其生命周期内保持正常工作的能力。这通常涉及离散概率模型,特别是二项分布、泊松分布和指数分布等。

人-机系统,无论电子还是机械都是由部件组成的,所以我们将考虑这些部件之间的关系,具体将包括:串联、并联、串并联结合等几种关系。其中这几种关系与数字电路的串、并联大抵相同,所以只简单介绍下。

串联系统

串联系统就是所有部件都要可以使用时系统才能正常运转的系统。如果在串联系统中由3个部件,其可靠性分别为R_1 =0.9R_2 =0.95R_3 = 0.96,那么这个系统可靠性就是它们的乘积,即R_{result}=0.8208

并联系统

并联系统是只要有一个部件可正常运行则整个系统就可正常运行的系统。此时,有2个部件在一个并联系统中,并且其可靠性分别为R_1 =0.95R_2 = 0.96,那么系统的可靠性可定义为:

R_{result}=R_1 +R_2 -R_1 *R_2=0.998

串并联组合系统

在一个系统中,它既有串联部分的存在又有并联系统的存在,那么它就是串并联组合系统。

关于这部分的应用主要是在工程设计、维护策略和风险评估上。

三、线性回归

线性回归是统计学和机器学习中一种基本的预测方法,用于建立因变量(通常是我们想要预测的值)与一个或多个自变量(影响因变量的因素)之间的关系。在最简单的情况下,通过找一条直线去最好地拟合所有数据点,关于这条直线的表达式如下:

y_i = ax_i + b

那么,我们可以推导出其斜率与截距分别为:

a = \frac{m\sum x_iy_i- \sum x_i\sum y_i}{m\sum x^2_i -(\sum x_i)^2}b=\frac{\sum x^2_i \sum y_i - \sum x_i y_i \sum x_i}{m\sum x_i^2=(\sum x_i)^2}

接下来是几个公式以对线性回归的模型做统计分析:

第一个是误差平方和:

SSE=\sum^m_{i=1} [y_i -(ax_i +b)]^2

它反映了关于回归直线的偏差。R^2

第二个是关于y的总修正平方和:

SST=\sum^m_{i=1}(y_i-\bar{y})^2

第三个是回归平方和:

SSR=SST-SSE

SSR反映了y值由回归直线解释的那部分偏差。

最后一个是决定系数,它度量了回归直线的拟合程度:

R^2=1-\frac{SSE}{SST}

R^2越接近1,则说明回归直线对于实际数据的拟合效果越好,当其直接为1时,则数据精准与回归直线吻合。

关于R^2有两个性质值得一说,首先时其大小与两个变量哪一个记作x,哪一个记作y无关,然后是其大小与x,x的单位无关。

除此之外,关于拟合程度的另一种显示方法是将残差对于自变量作图,其中残差r_i=y_i-f(x_i)=y_i-(ax_i+b)

以下是一个具体的python代码举例:

首先,假设我们有一个简单的数据集,其中包含房屋面积(平方米)和对应的销售价格(万元)。我们的目标是建立一个线性回归模型,通过房屋面积预测房屋的价格。代码如下:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score# 手动创建数据
data = {'Area': [50, 60, 70, 80, 90, 100, 110, 120],'Price': [150, 180, 210, 240, 270, 300, 330, 360]
}df = pd.DataFrame(data)# 将数据分为自变量X和因变量y
X = df[['Area']]
y = df['Price']# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 创建线性回归模型
model = LinearRegression()# 训练模型
model.fit(X_train, y_train)# 预测
y_pred = model.predict(X_test)# 计算均方误差和R^2分数
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)print(f"Mean Squared Error: {mse}")
print(f"R^2 Score: {r2}")# 可视化结果
plt.figure(figsize=(10, 6))# 散点图显示原始数据
plt.scatter(df['Area'], df['Price'], color='black', label='Original data')# 绘制训练集上的预测线
plt.plot(X_train, model.predict(X_train), color='blue', linewidth=2, label='Fitted line')# 如果你想看到测试集上的预测点
plt.scatter(X_test, y_pred, color='red', marker='x', label='Predicted values on test set')plt.xlabel('Area (m^2)')
plt.ylabel('Price (10k RMB)')
plt.legend()
plt.title('Linear Regression Model for House Prices')
plt.show()

其输出结果为:

Mean Squared Error: 4.0389678347315804e-28
R^2 Score: 1.0

以及做出的图像为: 

我们观察这个代码,发现它与机器学习中的线性回归十分相似,都是使用了sklearn的 线性回归模型,但不同的是,在数学建模中我们一般使用R^2等来衡量模型的好坏,而ml(机器学习)则一般使用MSE、RMSE、MAE等指标。

此外在目标上,传统数学建模强调对于数据间关系的解释,而ml则更强调对于未来数据的预测,换句话说就是,传统数学建模者更关注模型的可解释性和假设检验,而ml者注重模型的预测性能和泛化能力。除此之外,在数学建模与ml的线性回归上大体是相同的。

此上

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/6157.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

docker镜像仓库常用命令

docker镜像仓库常用命令 docker logindocker logoutdocker pulldocker pushdocker searchdocker imagesdocker image inspectdocker tagdocker rmidocker image prunedocker savedocker loaddocker history docker login 语法: docker login [options] [server] 功能&#xff…

设备树编译报错cell 0 is not a phandle reference

问题一 编译设备树时报错: Warning (clocks_property): /pl0619030000:clocks: cell 0 is not a phandle reference 设备树是qemu执行dump生成的,然后执行反编译得到dts,警告处的源码为: 警告大概意思是时钟的参数应该是一个ph…

jmeter脚本-请求体设置变量and请求体太长的处理

目录 1、查询接口 1.1 准备组织列表的TXT文件,如下: 1.2 添加 CSV数据文件设置 ,如下: 1.3 接口请求体设置变量,如下: 2、创建接口 2.1 见1.1 2.2 见1.2 2.3 准备创建接口的请求体TXT文件&#xff…

MySQL 数据库之表操作

1. 创建表 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) [character set 字符集 collate 校验规则 engine 存储引擎];field 表示列名datatype 表示列的类型character set 字符集,如果没有指定字符集,则以所在数据库…

Python数据分析案例62——基于MAGU-LSTM的时间序列预测(记忆增强门控单元)

案例背景 时间序列lstm系列预测在学术界发论文都被做烂了,现在有一个新的MAGU-LSTM层的代码,并且效果还可以,非常少见我觉得还比较创新,然后我就分享一下它的代码演示一下,并且结合模态分解等方法做一次全面的深度学习…

牛客网Java高频面试题(2024最新版含答案)

作为 Java 程序员,选择学习什么样的技术?什么技术该不该学?去招聘网站上搜一搜、看看岗位要求就十分清楚了,自己具备的技术和能力,直接影响到你工作选择范围和能不能面试成功。 如果想进大厂,那就需要在 Ja…

第9章 Apache WEB服务器企业实战

万维网 (WORLD WIDE WEB,WWW)服务器,也称之为WEB服务器,主要功能是提供网上信息浏览服务。WWW是 Internet的多媒体信息查询工具,是Internet上飞快发展的服务,也是目前用的最广泛的服务。正是因为有了WWW软件,才使得近年来 Internet 迅速发展。 目前主流的WEB服务器软件包…

HTML 基础概念:什么是 HTML ? HTML 的构成 与 HTML 基本文档结构

文章目录 什么是 HTML ?HTML 的构成 ?什么是 HTML 元素?HTML 元素的组成部分HTML 元素的特点 HTML 基本文档结构如何打开新建的 HTML 文件代码查看 什么是 HTML ? HTML(超文本标记语言,HyperText Markup L…

【Kafka】Windows+KRaft部署指南

【Kafka】Windows+KRaft部署指南 摘要本地环境说明官网快速开始修改config/kraft/server.properties初始化数据存储目录启动测试创建topic创建生产者创建消费者FAQ输入行太长。命令语法不正确。问题描述解决方案参考资料摘要 Kafka是一种高吞吐量的分布式发布订阅消息系统,它…

阿里云-防火墙设置不当导致ssh无法连接

今天学网络编程的时候,看见有陌生ip连接,所以打开了防火墙禁止除本机之外的其他ip连接: 但是当我再次用ssh的时候,连不上了才发现大事不妙。 折腾了半天,发现阿里云上可以在线向服务器发送命令,所以赶紧把2…

Grafana GreptimeDB 数据源插件上线啦,全面替代 Prometheus 插件

为什么创建 GreptimeDB 数据源插件 此前,用户可以通过 Prometheus 数据源插件,设置连接到 GreptimeDB 来进行 PromQL 查询。 GrpetimeDB 支持了 80% 以上的 PromQL 语法。但是,由于 GreptimeDB 底层使用多值模型,而非 Prometheu…

LabVIEW编程过程中为什么会出现bug?

在LabVIEW编程过程中,Bug的产生往往源自多方面原因。以下从具体的案例角度分析一些常见的Bug成因和调试方法,以便更好地理解和预防这些问题。 ​ 1. 数据流错误 案例:在一个LabVIEW程序中,多个计算节点依赖相同的输入数据&#…

WPF+MVVM案例实战(十八)- 自定义字体图标按钮的封装与实现(ABD类)

文章目录 1、案例效果1、按钮分类2、ABD类按钮实现描述1.文件创建与代码实现2、样式引用与控件封装3、按钮案例演示1、页面实现与文件创建2、运行效果如下3、总结4、源代码获取1、案例效果 1、按钮分类 在WPF开发中,最常见的就是按钮的使用,这里我们总结以下大概的按钮种类,…

01简介——基于全志V3S的Linux开发板教程笔记

声明:本笔记内容为个人在使用自制的基于全志V3S的Linux开发板的学习笔记文章,仅用于记录学习与开发过程中的问题处理过程、方法操作记录、参考的网络资源等内容。 一、前言 一次偶然的机会,发现了全志V3S这款芯片,基于Cortex-A7内…

深度学习常用开源数据集介绍【持续更新】

DIV2K 介绍:DIV2K是一个专为 图像超分辨率(SR) 任务设计的高质量数据集,广泛应用于计算机视觉领域的研究和开发。它包含800张高分辨率(HR)训练图像和100张高分辨率验证图像,每张图像都具有极高…

Spring Boot框架下的信息学科平台系统开发实战

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于保密信息学科平台系统的开发全过程。通过分析基于保密信息学科平台系统管理的不足,创建了一个计算机管理基于保密信息学科平台系统的方案。文章介…

RPC核心实现原理

目录 一、基本原理 二、详细步骤 三、额外考虑因素 RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议,也是一种用于实现分布式系统中不同节点之间进行通信和调用的技术。其实现原理主要可以分为以下几个步骤&…

【论文分享】使用可穿戴相机和计算机视觉评估个人在不断变化的环境中的屏幕暴露情况

本次带来一篇sci的全文翻译,该论文主讲如何使用可穿戴相机和计算机视觉评估个人在不断变化的环境中的屏幕暴露情况! 【论文题目】Assessing personal screen exposure with ever-changing contexts using wearable cameras and computer vision 【篇名翻…

从分析Vue实例生命周期开始,剖析Vue页面跳转背后执行过程

文章目录 1.概要2.Vue实例生命周期3.生命周期函数解释4.存在父子组件情况页面执行过程5. 分析路由跳转页面执行过程6.扩展补充7.小结 1.概要 本文旨在分析Vue页面进行路由切换时,Vue背后的运行过程,旨在让大家更加清晰地明白Vue页面运行过程中钩子方法的…

SAP固定资产报废BAPI_ASSET_RETIREMENT_POST的主要参数说明<转载>

原文链接:https://mp.weixin.qq.com/s/bzuK0PUfY7Zb-AoAIeWKiQ SAP固定资产的报废在前台通过tcode ABAVN执行相关业务的操作。 比如如下操作。 事务类型:选择如下,可以根据实际要求选择 填写完成必填相关参数后,最后点击保存即可…