【概率统计】通俗理解边际分布

2023-12-01 14:36

本文主要是介绍【概率统计】通俗理解边际分布,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

边际分布:掷骰子的例子

在概率论和统计学中,边际分布是描述两个或更多个随机变量的联合概率分布中的一个或一部分随机变量的概率分布。简单来说,假设有两个随机变量(比如掷两个骰子),边际分布就是其中一个变量的概率分布(比如一个骰子的结果)。

模拟掷骰子过程

可以用numpy库来模拟上述的掷骰子过程,并计算边际分布。如下:

import numpy as np# 模拟掷骰子过程
np.random.seed(0)  # 设置随机种子,以得到可复现的结果
n_trials = 1000000  # 掷骰子的次数
red_dice = np.random.choice([1, 2, 3, 4, 5, 6], size=n_trials)  # 红色骰子的结果
blue_dice = np.random.choice([1, 2, 3, 4, 5, 6], size=n_trials)  # 蓝色骰子的结果# 计算红色骰子的边际分布
marginal_distribution = np.zeros(6)
for i in range(1, 7):marginal_distribution[i-1] = np.sum(red_dice == i) / n_trialsprint(marginal_distribution)

可视化边际分布

进一步,可以使用 matplotlib 库来可视化红色骰子的边际分布

import matplotlib.pyplot as plt# 创建直方图
plt.bar(range(1, 7), marginal_distribution, color='red')# 设置图表标题和坐标轴标签
plt.title('Marginal Distribution of Red Dice')
plt.xlabel('Outcome')
plt.ylabel('Probability')
plt.show()

边际分布的含义

边际分布的“边际”一词来源于统计学中的一个惯例。在统计学中,假设有一个二维的联合分布表,我们通常会在这个表的边缘(或者说“边际”)上总结出每一行或者每一列的总和。这个总和就反映了单独一个变量的分布,而不是两个变量的联合分布。因此,这种分布就被称为“边际分布”。

具体到我们掷骰子的例子中,边际分布就是红色骰子每个面的出现概率,它独立于蓝色骰子的结果。

这篇关于【概率统计】通俗理解边际分布的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/441541

相关文章

hdu1496(用hash思想统计数目)

作为一个刚学hash的孩子,感觉这道题目很不错,灵活的运用的数组的下标。 解题步骤:如果用常规方法解,那么时间复杂度为O(n^4),肯定会超时,然后参考了网上的解题方法,将等式分成两个部分,a*x1^2+b*x2^2和c*x3^2+d*x4^2, 各自作为数组的下标,如果两部分相加为0,则满足等式; 代码如下: #include<iostream>#include<algorithm

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

hdu4865(概率DP)

题意:已知前一天和今天的天气概率,某天的天气概率和叶子的潮湿程度的概率,n天叶子的湿度,求n天最有可能的天气情况。 思路:概率DP,dp[i][j]表示第i天天气为j的概率,状态转移如下:dp[i][j] = max(dp[i][j, dp[i-1][k]*table2[k][j]*table1[j][col] )  代码如下: #include <stdio.h>#include

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

hdu4267区间统计

题意:给一些数,有两种操作,一种是在[a,b] 区间内,对(i - a)% k == 0 的加value,另一种操作是询问某个位置的值。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import

hdu4417区间统计

给你一个数列{An},然后有m次查询,每次查询一段区间 [l,r] <= h 的值的个数。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamRead

hdu3333区间统计

题目大意:求一个区间内不重复数字的和,例如1 1 1 3,区间[1,4]的和为4。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念