掌握目标:
1、掌握期望和方差的意义,以及常用离散或连续分布期望方差的计算
2、掌握期望和方差的性质
3、掌握协方差,相关系数,协方差矩阵
4、掌握矩估计和极大似然估计算法
1 期望和方差
期望:连续求积,离散求和
方差
证明:
例子:
我非常不理解为什么:
常用例子:
2 协方差
协方差矩阵
多维概率分布的密度函数 。比如高斯,一元高斯概率分布:
3。矩估计
【参数估计】讲 -> 矩估计+极大似然估计
有个公式:
4 极大似然估计
概念
现实中任何随机变量的概率分布函数都是未知的。
如果假定随机变量服从某种分布(如正态分布),可以通过统计手段来计算该分布的参数,这种方法称为参数估计。
极大似然估计(Maximum Likelihood Estimate, MLE)是一种参数估计的方法,利用已知样本结果,反推最大可能导致这样结果的参数值。
有个总结:
高斯分布的矩估计 = 最大似然估计
均衡分布的矩估计
机器学习里面为这个问题建立一个模型(概率分布,变量和参数)我们要做的就是如何估计出这个参数
用的最多的就是最大似然估计。从概率角度来讲,在本节中我们用的估计,矩估计和最大似然估计。
求最大似然估计量的一般步骤:
(1)写出似然函数;
(2)对似然函数取对数,并整理;
(3)求导数;
(4)解似然方程。
最大似然估计的特点:
1.比其他估计方法更加简单;
2.收敛性:无偏或者渐近无偏,当样本数目增加时,收敛性质会更好;
3.如果假设的类条件概率模型正确,则通常能获得较好的结果。但如果假设模型出现偏差,将导致非常差的估计结果。
【打卡作业】:
1、
2、
3、
4、
(需要自己学习一下无偏估计的概念哦)
5、编程实现高斯分布参数估计
参考:python简单实现最大似然估计&scipy库的使用
python简单实现最大似然估计&scipy库的使用_Python_Smile-CSDN博客blog.csdn.netfrom scipy.stats import norm
import matplotlib.pyplot as plt
import numpy as np
'''
norm.cdf 返回对应的累计分布函数值
norm.pdf 返回对应的概率密度函数值
norm.rvs 产生指定参数的随机变量
norm.fit 返回给定数据下,各参数的最大似然估计(MLE)值
'''
x_norm = norm.rvs(size=200)
#在这组数据下,正态分布参数的最大似然估计值
x_mean, x_std = norm.fit(x_norm)
print ('mean, ', x_mean)
print ('x_std, ', x_std)
plt.hist(x_norm, normed=True, bins=15)#归一化直方图(用出现频率代替次数),将划分区间变为 20(默认 10)
x = np.linspace(-3,3,50)#在在(-3,3)之间返回均匀间隔的50个数字。
plt.plot(x, norm.pdf(x), 'r-')
plt.show()
mean, -0.0033407114846500095
x_std, 0.9980981881358523
参考:[(机器学习)概率统计]极大似然估计MLE原理+python实现
[(机器学习)概率统计]极大似然估计MLE原理+python实现_Python_PJZero-CSDN博客blog.csdn.net '''
[(机器学习)概率统计]极大似然估计MLE原理+python实现
'''
import numpy as np
import matplotlib.pyplot as plt
mu = 30 # mean of distribution
sigma = 2 # standard deviation of distribution
x = mu + sigma * np.random.randn(10000)
def mle(x):
"""
极大似然估计
:param x:
:return:
"""
u = np.mean(x)
return u, np.sqrt(np.dot(x - u, (x - u).T) / x.shape[0])
print(mle(x))
num_bins = 100
plt.hist(x, num_bins)
plt.show()
(29.9880960348032, 2.0112869050062114)
参考:Python实现极大似然估计
Python实现极大似然估计_python_XerCis的博客-CSDN博客blog.csdn.netimport numpy as np
from scipy.stats import norm
import matplotlib.pyplot as plt
μ = 30 # 数学期望
σ = 2 # 方差
x = μ + σ * np.random.randn(10000) # 正态分布
plt.hist(x, bins=100) # 直方图显示
plt.show()
print(norm.fit(x)) # 返回极大似然估计,估计出参数约为30和2
(30.03021353964129, 2.0117649664307473)
备注:如果不了解Python语言和Numpy库相关知识的童靴,请先去学习我们的Python基础+数据科学入门训练营哦~或者先自学一下官方文档了解基础知识:
https://www.numpy.org.cn/user/quickstart.html#基本操作
https://docs.python.org/zh-cn/3/