中科大统计学习(刘东)作业1

中科大统计学习(刘东)作业1

学号:SA22XXXXX 姓名:XX


2. Learn to install Anaconda (version ≥ 3.7) and OpenCV-Python (ver-sion ≥ 3.4) on your PC. Write down the installation steps, which can be very helpful for the following exercises and projects.

1) Anaconda 3 下载安装。

a)下载。登陆Anaconda官网或镜像网站下载安装包。

    在此我选择从清华大学开源镜像网站进行下载。
    因为我的电脑是Win-64,在此我选择的是Anaconda3-2021.04-Windows-x86_64版本,对应的python版本为python 3.8。所选Anaconda版本符合作业要求。

b)安装。选择All Users,安装路径我选择了D盘。接下来的Add Anaconda3 to the system PATH environment variable 选项不要勾选,以免后续会出现问题。在安装结束后,手动添加环境变量。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

c)添加环境变量。按照如下步骤:此电脑----->属性----->高级系统设置----->环境变量----->系统变量中的path----->编辑----->新建,添加如下环境变量。

    D:\software_anzhuang\anaconda3

    D:\software_anzhuang\anaconda3\Scripts

    D:\software_anzhuang\anaconda3\Library\mingw-w64\bin

    D:\software_anzhuang\anaconda3\Library\usr\bin

    D:\software_anzhuang\anaconda3\Library\bin

d)测试是否配置成功。

    进入cmd,输入 python,看是否有python环境。

在这里插入图片描述

    然后在cmd中输入 conda --version ,如图就是有conda环境。

在这里插入图片描述

e)打开Anaconda进入界面,安装jupyter notebook。

2) OpenCV-Python安装。
    进入清华大学镜像中心下载地址,下载opencv_python-4.5.4.60-cp38-cp38-win_amd64(对应python3.8,win 64)。将下载好的whl文件移动到D:\software_anzhuang\anaconda3\Lib\site-packages这个文件夹下,然后进入cmd命令行cd到whl文件所在目录,然后输入pip install opencv_python-4.5.4.60-cp38-cp38-win_amd64.whl,然后系统会自动安装成功。

5. Choose a pair of parameters (u,  σ 2 \sigma^2 σ2) to generate N random numbers that follow the Gaussian distribution, then calculate the mean and variance of the random numbers and compare with the ground-truth (µ,  σ 2 \sigma^2 σ2). Set N to 100, 1000, 10000, 100000, …, to observe the change of results.

取 u=100, σ \sigma σ=50, σ 2 \sigma^2 σ2=2500。如下编写的gauss_N函数,可以生成N个服从(mu, sigma^2)高斯分布的随机数,并且计算输出N个随机数的均值和方差。(mu=100,sigma = 50, sigma^2 = 2500)

import matplotlib.pyplot as plt
import random
import numpy as np
def gauss_N(Nf, muf, sigmaf):
    X = []
    for i in range(Nf):
        temp = random.gauss(muf, sigmaf)
        X.append(temp)
    a = np.mean(X)
    b = np.var(X)
    c = np.var(X, ddof = 1)
    print('均值:',a)
    #总体方差
    print('总体方差:',b)
    #样本方差
    print('样本方差:',c)
    return a, b, c

N = 100:

mu = 100
sigma = 50
N = 100
mu1, vara1, varb1 = gauss_N(N, mu, sigma)
均值: 102.58584066600177
总体方差: 3296.343493623705
样本方差: 3329.639892549197

N = 1000:

mu = 100
sigma = 50
N = 1000
mu2, vara2, varb2 = gauss_N(N, mu, sigma)
均值: 98.26718854594877
总体方差: 2432.7867772642103
样本方差: 2435.2219992634737

N = 10000:

mu = 100
sigma = 50
N = 10000
mu3, vara3, varb3 = gauss_N(N, mu, sigma)
均值: 99.13580131855666
总体方差: 2495.946525853973
样本方差: 2496.1961454685197

N = 100000:

mu = 100
sigma = 50
N = 100000
mu4, vara4, varb4=gauss_N(N, mu, sigma)
均值: 99.91563040089545
总体方差: 2506.717693537597
样本方差: 2506.7427609652063

N = 1000000:

mu = 100
sigma = 50
N = 1000000
mu5, vara5, varb5=gauss_N(N, mu, sigma)
均值: 100.03564591878155
总体方差: 2497.611898108561
样本方差: 2497.614395722957

N = 10000000:

mu = 100
sigma = 50
N = 10000000
mu6, vara6, varb6=gauss_N(N, mu, sigma)
均值: 99.98937114769309
总体方差: 2497.8830545823084
样本方差: 2497.883304370639

为观察更加直观,下面将均值跟方差的变化趋势使用图形化方式表示。横坐标为lg N,纵坐标分别为均值、总体方差、样本方差。

均值:

Nt = [1,2,3,4,5,6]
mut =[mu1,mu2,mu3,mu4,mu5,mu6]
plt.scatter(Nt, mut, s=20)
plt.axhline(100,c="r",ls="--")
plt.xlabel("lg N")
plt.ylabel("mu")
plt.show()

在这里插入图片描述

总体方差:

Nt = [1,2,3,4,5,6]
mut =[vara1,vara2,vara3,vara4,vara5,vara6]
plt.scatter(Nt, mut, s=20)
plt.axhline(2500,c="r",ls="--")
plt.xlabel("lg N")
plt.ylabel("sigma^2")
plt.show()

在这里插入图片描述

样本方差:

Nt = [1,2,3,4,5,6]
mut =[varb1,varb2,varb3,varb4,varb5,varb6]
plt.scatter(Nt, mut, s=20)
plt.axhline(2500,c="r",ls="--")
plt.xlabel("lg N")
plt.ylabel("sigma^2")
plt.show()

在这里插入图片描述

观察得到,随着N的增大,生成的N个随机数的均值越来越接近u =100,方差σ^2越来越接近2500。

可以得出结论,当样本数目越多,统计量(均值,方差)越接近理论真实值。

6. We already know that if we use y ^ = ∑ i y i N \hat y =\frac {\sum_{i}y_i}{N} y^=Niyito estimate a variable, it corresponds to minimizing least squares m i n y ∑ i ( y i − y ) 2 min_y \sum_i{(y_i-y)}^2 minyi(yiy)2.Now we use y ^ = ∏ i y i N \hat y = \sqrt[N]{\prod_iy_i} y^=Niyi to estimate a variable, what can be the corresponding minimization problem?

答:对应最小化问题: m i n y ∑ i ( l g y i − l g y ) 2 min_y \sum_i(lgy_i-lgy)^2 minyi(lgyilgy)2

f ( y ) = ∑ i ( l g y i − l g y ) 2 = ∑ i ( l g y i ) 2 − 2 ( l g y i ) ( l g y ) + N ( l g y ) 2 f(y) = \sum_i(lgy_i-lgy)^2 = \sum_i(lgy^i)^2-2(lgy^i)(lgy)+N(lgy)^2 f(y)=i(lgyilgy)2=i(lgyi)22(lgyi)(lgy)+N(lgy)2

d f ( y ) d y = 2 N l g y y − 2 y ∑ i ( l g y i ) = 2 l g y N y − 2 y lg ⁡ ( ∏ i y i ) \frac{df(y)}{dy}=\frac{2Nlgy}{y}-\frac2y\sum_i(lgy_i)=\frac{2lgy^N}{y}-\frac2y\lg(\prod_iy_i) dydf(y)=y2Nlgyy2i(lgyi)=y2lgyNy2lg(iyi)

d f ( y ) d y = 0 \frac{df(y)}{dy}=0 dydf(y)=0,有 l g y N = l g ( ∏ i y i ) lgy^N=lg(\prod_iy_i) lgyN=lg(iyi)

y N = ∏ i y i y^N=\prod_iy_i yN=iyi

可得 y ^ = ∏ i y i N \hat y = \sqrt[N]{\prod_iy_i} y^=Niyi
,同时恒有 f " > 0 f^{"}>0 f">0,所以此时取得最小值

因此,对应最小化问题为: m i n y ∑ i ( l g y i − l g y ) 2 min_y \sum_i(lgy_i-lgy)^2 minyi(lgyilgy)2

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值