一些常见分布-正态分布、对数正态分布、伽马分布、卡方分布、t分布、F分布等

news2024/11/24 17:24:13

目录

正态分布

对数正态分布 

伽马分布

伽马函数

贝塔函数

伽马分布

卡方分布

F分布

t分布

附录

参考文献


        本文主要介绍一些常见的分布,包括正态分布、对数正态分布、伽马分布、卡方分布、F分布、t分布。给出了分布的定义,推导了概率密度函数,以及函数图像。

正态分布

 当n=0,\sigma^2=1,称为标准正态分布,即X\sim N(0,1)

对数正态分布 

        对数正态分布(logarithmic normal distribution)是指一个随机变量的对数服从正态分布,则该随机变量服从对数正态分布。对数正态分布从短期来看,与正态分布非常接近。但长期来看,对数正态分布向上分布的数值更多一些。

证明

        假设Y服从的正态分布为G(x),概率密度函数为g(x)​,X服从的分布为F(x),概率密度函数为f(x)。显然有G^{'}(x)=g(x),F^{'}(x)=f(x)

下面证明​X的概率密度函数f(x)表达式如上面所示。

        一般我们通过分布函数和概率的定义来证明。

F(x)=P(X\leq x) ,因为Y=lnX​,则X=e^Y,

P(X\leq x)=P(e^Y\leq x)=P(Y\leq lnx)=G(lnx)

F(x)=G(lnx)​,两边对x​求导,得到:

\frac{\mathrm{dF(x)} }{\mathrm{d} x}=\frac{\mathrm{dG(lnx)} }{\mathrm{d} x},即:

f(x)=\frac{g(lnx)}{x},注意到正态分布概率密度函数g(x)如下:

g(x)

代入后,可得到f(x)​表达式如上面所示。

伽马分布
伽马函数

        在介绍伽马分布之前,我们先对伽马函数有一个基本理解,伽马函数如下:

\alpha是自变量。伽马函数图像如下:

 伽马函数图像绘制代码,如下:

import numpy as np
import matplotlib.pyplot as plt
from scipy.special import gamma

if __name__ == '__main__':
    x = np.linspace(-5, 5, 500) # -5到5之间生成500个点
    y = gamma(x)    # 计算y的值,也就是伽马函数的值
    plt.plot(x, y)
    plt.show()

        为了后面方便推导卡方分布,这里我们证明 \Gamma(\frac{1}{2})=\sqrt{\pi}

下面利用标准正态分布的概率密度函数曲线下的面积为1来证明。即:

\int_{-\infty }^{+\infty}\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}}dx=1

由正态分布对称性,得到

2\int_{0 }^{+\infty}\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}}dx=1

t=\frac{x^2}{2}进行换元,

2\int_{0 }^{+\infty}\frac{1}{\sqrt{2\pi}}e^{-t}d\sqrt{2t}=1

2\int_{0 }^{+\infty}\frac{1}{\sqrt{2\pi}}e^{-t}\frac{1}{\sqrt{2t}}dt=1

\int_{0 }^{+\infty}\frac{1}{\sqrt{\pi t}}e^{-t}dt=1

\int_{0 }^{+\infty}\frac{1}{\sqrt{t}}e^{-t}dt=\sqrt{\pi}

因为伽马函数如下:

知道

\Gamma(\frac{1}{2})=\int_{0 }^{+\infty}\frac{1}{\sqrt{t}}e^{-t}dt=\sqrt{\pi}

伽马函数还有其他很多的函数表达式,这里不再累述。 

贝塔函数

        在概率统计和其他应用学科中会经常用到伽玛函数和贝塔函数,有的反常积分的计算最后也会归结为贝塔函数或伽玛函数。贝塔函数又称为第一类欧拉积分,而第二类欧拉积分就是大名鼎鼎的伽玛函数Γ(x。贝塔函数具有很好的性质,以及实用的递推公式,另外需要注意的是伽玛函数和贝塔函数之间的关系。贝塔函数如下:

贝塔函数是一个积分形式,\alpha,\beta为参数。

        下面推导伽马函数与贝塔函数之间存在的关系。我们先给出他们的关系:

B(\alpha, \beta )=\frac{\Gamma(\alpha)\Gamma(\beta )}{\Gamma(\alpha +\beta )}

由伽马函数:

得到

\Gamma(\alpha )\Gamma(\beta )=\int_{0}^{+\infty}t^{\alpha-1}e^{-t}dt\times\int_{0}^{+\infty}s^{\beta-1}e^{-s}ds

=\int_{0}^{+\infty}\int_{0}^{+\infty}t^{\alpha-1}s^{\beta-1}e^{-(t+s)}dtds

使用如下积分换元t=uv,s=u(1-v),即

u=s+t,v=\frac{t}{s+t}

容易得到u\in(0,+\infty),v\in(0,1),并且s=0时,v=1,s \to +\infty时,v=0。变换前后微元关系如下:

dtds=\begin{vmatrix} \frac{\partial t}{\partial u} & \frac{\partial t}{\partial v} \\ \frac{\partial s}{\partial u} & \frac{\partial s}{\partial v} \end{vmatrix}dudv=\begin{vmatrix} v & u\\ 1-v & -u \end{vmatrix}dudv

=[-uv-u(1-v)]dudv=-ududv

则换元后,原式如下:

\Gamma(\alpha )\Gamma(\beta )=

=\int_{0}^{+\infty}\int_{1}^{0}(uv)^{\alpha-1}[u(1-v)]^{\beta-1}e^{-u}(-u)dudv

=\int_{0}^{+\infty}\int_{0}^{1}(uv)^{\alpha-1}[u(1-v)]^{\beta-1}e^{-u}(u)dudv

=\int_{0}^{+\infty}u^{\alpha+\beta-1}e^{-u}du\times\int_{0}^{1}v^{\alpha-1}(1-v)^{\beta-1}dv

=\Gamma(\alpha+\beta)B(\alpha,\beta)

即:

B(\alpha, \beta )=\frac{\Gamma(\alpha)\Gamma(\beta )}{\Gamma(\alpha +\beta )}

        为了直观地理解贝塔函数,下面我们绘制出贝塔函数的三维曲面图像。代码如下:

import numpy as np
from scipy.special import beta
import matplotlib.pyplot as plt

if __name__ == '__main__':
    # 创建一个网格
    x, y = np.meshgrid(np.linspace(0.1, 1, 100), np.linspace(0.1, 1, 100))
    print('x=', '\n', x)
    print('y=', '\n', y)
    z = beta(x, y)
    print('z=', '\n', z)

    plt.rcParams['font.sans-serif'] = ['Simhei']  # 显示中文
    fig = plt.figure(figsize=(10, 8))
    ax = fig.add_subplot(111, projection='3d')
    ax.tick_params(axis="both", labelsize=12)
    ax.plot_surface(x, y, z, cmap='viridis')
    ax.set_xlabel('x', fontsize=13)
    ax.set_ylabel('y', fontsize=13)
    ax.set_zlabel('z')
    ax.set_title('贝塔函数图像')
    plt.show()

运行结果,如下:

伽马分布

​​​

        从定义可以看到,伽马分布的概率密度函数的分母中\Gamma(\alpha )就是伽马函数。 可以通过scipy提供的统计库stats,绘制出正态分布、对数正态分布、伽马分布的概率密度函数曲线,代码如下:

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gamma as gamma_dis
from scipy.stats import lognorm
from scipy.stats import norm

if __name__ == '__main__':

    alpha = 2  # 伽马分布的形状参数
    theta = 2  # 伽马分布的比例参数
    # 创建一个 sample space
    x = np.linspace(0, 10, 200)
    # 计算概率密度函数 (PDF)
    gamma_pdf = gamma_dis.pdf(x, alpha, scale=theta)  # 伽马分布概率密度函数
    log_norm_pdf = lognorm.pdf(x, loc=0, s=1)  # 对数正态分布概率密度函数
    norm_pdf = norm.pdf(x, loc=0, scale=1)  # 正态分布概率密度函数
    plt.rcParams['font.sans-serif'] = ['Simhei']  # 显示中文
    # 绘制伽马分布曲线
    plt.plot(x, gamma_pdf)
    plt.plot(x, log_norm_pdf)
    plt.plot(x, norm_pdf)
    plt.legend(['伽马分布', '对数正态分布', '正态分布'])  # 设置图例
    plt.title('概率密度函数曲线')
    plt.xlabel('x')
    plt.ylabel('概率密度函数值')
    plt.show()

运行结果如下: 

​​​

伽马分布有如下重要的性质:

(1)设随机变量X\sim Ga(\alpha_1,\lambda )Y\sim Ga(\alpha_2,\lambda ),且X,Y相互独立,则Z=X+Y\sim Ga(\alpha_1+\alpha_2,\lambda )

证明

        假设随机变量Z的分布为F(z),概率密度函数为f_Z(z),随机变量X,Y的概率密度函数分别为f_X(x)f_Y(x)。两者的联合概率密度函数为f_{XY}(x,y),因为X,Y相互独立,显然有:

f_{XY}(x,y)=f_X(x)f_Y(x)

因为

X,Y取值都在(0,+\infty),所以Z的取值也在(0,+\infty),从而当z\leq 0时,f_Z(z)=0

z> 0时,F(z)=P(Z\leq z)=P(X+Y\leq z),这里将z看成常数,有

F(z)=\iint_{x+y\leq z}f_{XY}(x,y)dxdy

=\iint_{x+y\leq z}f_X(x)f_Y(y)dxdy

=\int_{-\infty}^{+\infty}f_X(x)dx\int_{-\infty}^{z-x}f_Y(y)dy

使用换元t=x+y,将x看陈常数,有

y\in(-\infty,z-x),则t\in(-\infty,z),且dy=dt

得到

F(z)=\int_{-\infty}^{+\infty}f_X(x)dx\int_{-\infty}^{z}f_Y(t-x)dt

F(z)=\int_{-\infty}^{z}[\int_{-\infty}^{+\infty}f_X(x)f_Y(t-x)dx]dt

两边对z求导,得到

f_Z(z)=\int_{-\infty}^{+\infty}f_X(x)f_Y(z-x)dx

这就是卷积公式。因为

X\sim Ga(\alpha_1,\lambda )Y\sim Ga(\alpha_2,\lambda ),代入得到

f_Z(z)=\int_{0}^{z}\frac{\lambda^{\alpha_1}}{\Gamma(\alpha_1)}x^{\alpha_1-1}e^{-\lambda x}\frac{\lambda^{\alpha_2}}{\Gamma(\alpha_2)}(z-x)^{\alpha_2-1}e^{-\lambda (z-x)}dx

f_Z(z)=\frac{\lambda^{\alpha_1+\alpha_2}e^{-\lambda z}}{\Gamma(\alpha_1)\Gamma(\alpha_2)}\int_{0}^{z}x^{\alpha_1-1}(z-x)^{\alpha_2-1}dx

使用换元x=zt,当x\in(0,z)时,t\in(0,1),并且dx=zdt,则

f_Z(z)=\frac{\lambda^{\alpha_1+\alpha_2}}{\Gamma(\alpha_1)\Gamma(\alpha_2)}e^{-\lambda z}\int_{0}^{1}(zt)^{\alpha_1-1}(z-zt)^{\alpha_2-1}zdt

=\frac{\lambda^{\alpha_1+\alpha_2}}{\Gamma(\alpha_1)\Gamma(\alpha_2)}z^{\alpha_1+\alpha_2-1}e^{-\lambda z}\int_{0}^{1}t^{\alpha_1-1}(1-t)^{\alpha_2-1}dt

=\frac{\lambda^{\alpha_1+\alpha_2}}{\Gamma(\alpha_1)\Gamma(\alpha_2)}z^{\alpha_1+\alpha_2-1}e^{-\lambda z}B(\alpha_1,\alpha_2)

根据B(\alpha, \beta )=\frac{\Gamma(\alpha)\Gamma(\beta )}{\Gamma(\alpha +\beta )},得到

f_Z(z)=\frac{\lambda^{\alpha_1+\alpha_2}}{\Gamma(\alpha_1+\alpha_2)}z^{\alpha_1+\alpha_2-1}e^{-\lambda z},所以

Z=X+Y\sim Ga(\alpha_1+\alpha_2,\lambda )

卡方分布

        假设n个相互独立的随机变量X_1,X_2,...,X_n​​​,均服从标准正态分布(也称独立同分布于标准正态分布)N(0,1)​​​。则这n个服从标准正态分布的随机变量的平方和Q=\sum_{i=1}^nX_i^2​​​构成一个新的随机变量,其分布规律称为卡方分布(chi-square distribution),记作Q\sim \chi^2(n)​​​,n称为卡方分布的自由度(degree of freedom),记作df=n

        这个分布由麦克斯韦(James Clerk Maxwell, 1831-1879)在研究空气分子的运动速度的分布时发现的,他发现分子运动速度v​​​的平方服从自由度为3的卡方分布,即v^2\sim \chi^2(3)​​​。后来又有多人提出这种分布,例如弗里德里希·罗伯特·海尔默特(Friedrich Robert Helmert, 1843-1917)于1875年,故卡方分布有时(在德国常见,因海尔默特是德国人)也称海尔默特分布;另外,这一结果被英国生物统计学家、优生学家、数理统计学创始人和社会达尔文主义理论家卡尔·皮尔逊(Karl Pearson, 1857-1936)推广并于1900年发表。

        卡方分布\chi^2(n)​​​的概率密度函数

f(x,n)=\frac{x^{\frac{n}{2}-1}e^{-\frac{x}{2}}}{2^{\frac{n}{2}}\Gamma(\frac{n}{2})}

下面来推导。

(1)当df=1时,Q=X_1^2。卡方分布的概率密度函数变为:

f(x,1)=\frac{e^{-\frac{x}{2}}}{\sqrt{2x} \Gamma(\frac{1}{2})}=\frac{1}{\sqrt{2\pi x}}e^{-\frac{x}{2}}

假设随机变量Q的分布函数为F(x),概率密度函数为f(x),随机变量X_1的分布函数为F_{X_1}(x),概率密度函数为f_{X_1}(x),随机变量X_2的分布函数为F_{X_2}(x),概率密度函数为f_{X_2}(x)。因为X_1X_2服从标准正态分布,有

f_{X_1}(x)=f_{X_2}(x)=\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}}

因为F(x)=P(Q<x)=P(X_1^2<x)=P(-\sqrt{x}<X_1<\sqrt{x})

=P(X_1<\sqrt{x})-P(X_1<-\sqrt{x})=F_{X_1}(\sqrt{x})-F_{X_2}(-\sqrt{x})

两边对x求导,

f(x)=\frac{1}{2\sqrt{x}}(f_{X_1}(\sqrt{x})+f_{X_2}(-\sqrt{x}))

因为f_{X_1}(x)=f_{X_2}(x)=\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}},所以:

f(x)=\frac{1}{2\sqrt{x}}(\frac{1}{\sqrt{2\pi}}e^{-\frac{x}{2}}+\frac{1}{\sqrt{2\pi}}e^{-\frac{x}{2}})

f(x)=\frac{1}{\sqrt{2\pi x}}e^{-\frac{x}{2}}

事实上,它是\alpha=\frac{1}{2},\lambda=\frac{1}{2}的伽马分布,即Q\sim Ga(\frac{1}{2},\frac{1}{2})。根据如下伽马分布的概率密度函数,很容易得出。

​​

(2)当df=n时,Q=\sum_{i=1}^nX_i^2,由上面的结论知道,X_i^2\sim Ga(\frac{1}{2},\frac{1}{2})。另外因为X_1,X_2,...,X_n相互独立,所以X_1^2,...,X_i^2,...,X_n^2也相互独立。根据之前证明的如下结论:

如果随机变量X\sim Ga(\alpha_1,\lambda )Y\sim Ga(\alpha_2,\lambda ),且X,Y相互独立,则Z=X+Y\sim Ga(\alpha_1+\alpha_2,\lambda )

得到Q=\sum_{i=1}^nX_i^2服从Ga(\frac{n}{2},\frac{1}{2}),代入伽马分布,得到如下卡方分布

f(x,n)=\frac{x^{\frac{n}{2}-1}e^{-\frac{x}{2}}}{2^{\frac{n}{2}}\Gamma(\frac{n}{2})}

从结论来看,卡方分布是伽马分布的一个特例,即Ga(\frac{n}{2},\frac{1}{2})。也就是说

\chi^2(n)=Ga(\frac{n}{2},\frac{1}{2})

        为了直观的观测卡方分布,下面使用python代码绘制卡方分布曲线。代码如下:

import numpy as np
from scipy.special import beta
import matplotlib.pyplot as plt
from scipy import stats

if __name__ == '__main__':
    # # 创建一个网格
    # x, y = np.meshgrid(np.linspace(0.1, 1, 100), np.linspace(0.1, 1, 100))
    # print('x=', '\n', x)
    # print('y=', '\n', y)
    # z = beta(x, y)
    # print('z=', '\n', z)
    #
    plt.rcParams['font.sans-serif'] = ['Simhei']  # 显示中文
    # fig = plt.figure(figsize=(10, 8))
    # ax = fig.add_subplot(111, projection='3d')
    # ax.tick_params(axis="both", labelsize=12)
    # ax.plot_surface(x, y, z, cmap='viridis')
    # ax.set_xlabel('x', fontsize=13)
    # ax.set_ylabel('y', fontsize=13)
    # ax.set_zlabel('z')
    # ax.set_title('贝塔函数图像')
    # plt.show()

    X = np.linspace(0.1, 14, 500)

    plt.subplots(figsize=(8, 5))
    plt.plot(X, stats.chi2.pdf(X, df=1), label="1 d.o.f")
    plt.plot(X, stats.chi2.pdf(X, df=2), label="2 d.o.f")
    plt.plot(X, stats.chi2.pdf(X, df=4), label="4 d.o.f")
    plt.plot(X, stats.chi2.pdf(X, df=6), label="6 d.o.f")
    plt.plot(X, stats.chi2.pdf(X, df=11), label="11 d.o.f")
    plt.title("卡方分布")
    plt.legend()
    plt.show()

代码中绘制了自由度为1,2,3,4,11的5个卡方分布,运行结果如下:

F分布

        由卡方分布的定义知道,F分布定义可以转换为:如果X\sim \chi^2(n_1) ,Y\sim \chi^2(n_2),则

F=\frac{X}{n_1}/\frac{Y}{n_2}为F分布。概率密度函数的证明参见参考文献。

 代码如下:

    X = np.linspace(0.1, 4, 500)
    plt.plot(X, stats.f.pdf(X, 4,4), label="n1=4,n2=4")
    plt.plot(X, stats.f.pdf(X, 4,10), label="n1=4,n2=10")
    plt.plot(X, stats.f.pdf(X, 10,4), label="n1=10,n2=4")
    plt.plot(X, stats.f.pdf(X, 10,10), label="n1=10,n2=10")
    plt.title("F分布")
    plt.legend()
    plt.show()

 运行结果如下:

t分布

代码如下:

    plt.rcParams["axes.unicode_minus"] = False  # 设置显示中文后,负号显示受影响,显示负号
    X = np.linspace(-5, 5, 1500)
    plt.plot(X, stats.t.pdf(X, 1), label="n=4")
    plt.plot(X, stats.t.pdf(X, 2), label="n=2")
    plt.plot(X, stats.t.pdf(X, 4), label="n=4")
    plt.plot(X, stats.t.pdf(X, 8), label="n=8")
    plt.title("t分布")
    plt.legend()
    plt.show()

 运行结果如下:

附录

        本节所有代码如下:

import numpy as np
from scipy.special import beta
import matplotlib.pyplot as plt
from scipy import stats

if __name__ == '__main__':
    # 创建一个网格
    x, y = np.meshgrid(np.linspace(0.1, 1, 100), np.linspace(0.1, 1, 100))
    print('x=', '\n', x)
    print('y=', '\n', y)
    z = beta(x, y)
    print('z=', '\n', z)

    plt.rcParams['font.sans-serif'] = ['Simhei']  # 显示中文
    fig = plt.figure(figsize=(10, 8))
    ax = fig.add_subplot(111, projection='3d')
    ax.tick_params(axis="both", labelsize=12)
    ax.plot_surface(x, y, z, cmap='viridis')
    ax.set_xlabel('x', fontsize=13)
    ax.set_ylabel('y', fontsize=13)
    ax.set_zlabel('z')
    ax.set_title('贝塔函数图像')
    plt.show()

    X = np.linspace(0.1, 14, 500)

    plt.subplots(figsize=(8, 5))
    plt.plot(X, stats.chi2.pdf(X, df=1), label="1 d.o.f")
    plt.plot(X, stats.chi2.pdf(X, df=2), label="2 d.o.f")
    plt.plot(X, stats.chi2.pdf(X, df=4), label="4 d.o.f")
    plt.plot(X, stats.chi2.pdf(X, df=6), label="6 d.o.f")
    plt.plot(X, stats.chi2.pdf(X, df=11), label="11 d.o.f")
    plt.title("卡方分布")
    plt.legend()
    plt.show()

    X = np.linspace(0.1, 4, 500)
    plt.plot(X, stats.f.pdf(X, 4,4), label="n1=4,n2=4")
    plt.plot(X, stats.f.pdf(X, 4,10), label="n1=4,n2=10")
    plt.plot(X, stats.f.pdf(X, 10,4), label="n1=10,n2=4")
    plt.plot(X, stats.f.pdf(X, 10,10), label="n1=10,n2=10")
    plt.title("F分布")
    plt.legend()
    plt.show()

    plt.rcParams["axes.unicode_minus"] = False  # 设置显示中文后,负号显示受影响,显示负号
    X = np.linspace(-5, 5, 1500)
    plt.plot(X, stats.t.pdf(X, 1), label="n=4")
    plt.plot(X, stats.t.pdf(X, 2), label="n=2")
    plt.plot(X, stats.t.pdf(X, 4), label="n=4")
    plt.plot(X, stats.t.pdf(X, 8), label="n=8")
    plt.title("t分布")
    plt.legend()
    plt.show()
参考文献

高数篇(一)-- Gamma 函数 VS Beta 函数

极坐标与直角坐标二重积分转换

F分布概率密度函数的推导

python绘制正态分布及三大抽样分布的概率密度图像

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

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

相关文章

Python实现JavaScript中AES加密有关填充问题

1. 先展示一下JS端的格式&#xff08;没找到没混淆的。。。&#xff0c;将就看吧&#xff09; 2. 在python加密中是没有选择填充模式的&#xff0c;需要自己来填充 3. 对加密不懂的朋友可能跟我一样刚开始很懵逼&#xff0c;因为遇到的基本都是pksc7填充模式&#xff0c;但是网…

解析图片文件格式

图片文件幻数 关于JPEG格式 二进制形式打开文件&#xff0c;文件开始字节为FF D8&#xff0c;文件结束两字节为FF D9 JPEG 文件有两种不同的元数据格式&#xff1a;JFIF 和 EXIF。 JFIF 以 ff d8 ff e0 开头&#xff0c;EXIF 以 ff d8 ff e1 开头。 代码示例 private static…

Visual Studio自定义模板参数、备注

模板路径&#xff1a; VS2022 x64&#xff1a;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\ItemTemplatesVS2022 x86&#xff1a;C:\Program Files (x86)\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\ItemTemplates 一、声明和启用模板…

六、循环表达式

6.1 循环表达式语法 thymeleaf使用th:each属性可以对数组&#xff0c;集合进行循环&#xff0c;此属性用在容器元素上&#xff0c;循环生成子元素。 语法 th:each"循环出的元素 , 循环状态 : 集合或数组" .6.2、数组的循环 示例 在TestServlet中定义一个数组 …

Vue中如何进行自定义动画与动画效果设计(如CSS动画、Web动画)

当我们构建现代的Web应用程序时&#xff0c;动画和过渡效果变得越来越重要。它们可以增强用户体验&#xff0c;使用户界面更具吸引力&#xff0c;并帮助用户更好地理解应用程序的功能。Vue.js是一个流行的JavaScript框架&#xff0c;它提供了许多强大的工具和功能&#xff0c;使…

大数据技术标准推进委员会发布《地球大数据白皮书(2023年)》

导读 地球大数据的应用领域范围广阔&#xff0c;包括生态保护、自然资源管理、气象服务、城市规划、应急容灾等方面&#xff0c;但目前仍处于发展初期&#xff0c;面临着数据来源、结构多样&#xff0c;数据管理门槛高&#xff0c;数据应用场景复杂、落地方法论较少等痛点。如…

Linux系统常用指令篇---(三)

Linux系统常用指令篇—(三) 1.tree指令 ​ tree这条指令需要安装,不是自带就有的. 安装指令:yum -y install tree作用: ​ 以树状图的形式展开目录 2.which指令 which命令用于查找文件 指令在本质上就是可执行程序,因此也属于文件 3.cp指令 语法&#xff1a; cp [选项] …

【力扣每日一题】2023.10.7 股票价格跨度

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 给我们一个数组表示不同时间的股票的价格&#xff0c;要我们按照顺序返回每天的股票价格跨度&#xff0c;价格跨度就是股票价格小于或等于…

如何批量获取京东商品详情数据,京东商品详情API接口

批量获取京东商品详情数据可以通过京东开放平台接口来实现。 首先&#xff0c;您需要在京东开放平台注册成为开发者并创建一个应用&#xff0c;获取到所需的App Key和App Secret等信息。然后&#xff0c;使用获取到的App Key和App Secret进行签名和认证&#xff0c;获取Access…

前后端分离计算机毕设项目之基于SpringBoot的旅游网站的设计与实现《内含源码+文档+部署教程》

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ &#x1f345;由于篇幅限制&#xff0c;想要获取完整文章或者源码&#xff0c;或者代做&am…

基于SSM+Vue的订餐系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

每日一题 2034. 股票价格波动(中等,有序队列)

思路&#xff1a; 对于最高和最低价格&#xff0c;维护一个有序的存储所有价格的队列即可实现当执行 update 时&#xff0c;将队列中原来的 price 删除&#xff08;如果有的话&#xff0c;且耗时O(logn)&#xff09;&#xff0c;然后再插入新的 price 并保持有序&#xff08;耗…

Elasticsearch:语义搜索快速入门

这个交互式 jupyter notebook 将使用官方 Elasticsearch Python 客户端向你介绍 Elasticsearch 的一些基本操作。 你将使用 Sentence Transformers 进行文本嵌入的语义搜索。 了解如何将传统的基于文本的搜索与语义搜索集成&#xff0c;形成混合搜索系统。在本示例中&#xff0…

漏刻有时数据可视化大屏(15)智慧党建大数据平台

智慧党建大数据平台是依托现代信息技术和“互联网党建”的大数据管理模式&#xff0c;建立的综合党建平台。该平台集组织管理、党务中心、学习考评、宣传阵地、统计分析、党建助手、我的工作台等主要功能于一体&#xff0c;实现了基层党建工作数据化、在线化、可视化。以下是智…

使用弹性盒子flex对html进行布局和动态计算视口高度

使用弹性盒子flex对html进行布局的一个练习 height: calc(100vh - 4px); # vh表示视口高度的百分比&#xff0c;所以100vh表示整个视口的高度。 .mytxt { text-indent: 2em; /* 首航缩进2字符 */ line-height: 2; /* 2倍行高 */ padding: 8px; /* 内容与边框的距离 */ } …

MQ - 37 云原生:MQ的分层存储架构的实现方案

文章目录 导图概述什么是分层存储分层存储的应用和局限实现分层存储的技术思考选择远程文件系统生产性能优化消费性能优化方案一方案二隔离性和回滚隔离性回滚业界主流消息队列的架构分析RocektMQ 多级存储的实现分析Kakfa 分层存储的实现分析为什么 RocketMQ 使用准实时的方式…

Transformer预测 | Pytorch实现基于Transformer 的锂电池寿命预测(CALCE数据集)

文章目录 效果一览文章概述模型描述程序设计参考资料效果一览 文章概述 Pytorch实现基于Transformer 的锂电池寿命预测,环境为pytorch 1.8.0,pandas 0.24.2 随着充放电次数的增加,锂电池的性能逐渐下降。电池的性能可以用容量来表示,故寿命预测 (RUL) 可以定义如下: SOH(t…

【银河麒麟V10】【服务器】Oracle11g部署

一、环境准备 操作系统版本&#xff1a;银河麒麟V10 SP1 0518 Server x86_64 二、基础环境准备 1、安装麒麟操作系统 注意&#xff1a;预留至少7G以上swap缓存 2、关闭selinux和firewalld 3、如果是内网环境需要挂载本地源 【银河麒麟V10】【服务器】搭建本地镜像源_桂安俊…

【Linux】Vim使用总结

【Linux】Vim使用总结 Vim 的三种模式命令行模式1. 移动2.复制&#xff0c;粘贴&#xff0c;剪切3.撤销4.大小写切换&#xff0c;替换&#xff0c;删除 插入模式底行模式 Vim 的三种模式 一进入VIM就是处于一般模式&#xff08;命令模式&#xff09;&#xff0c;该模式下只能输…

java BigInteger的基本使用

BigInteger 注意对象一旦创建,内部记录的值不能发生改变 import java.math.BigInteger; import java.util.Random;public class myBigInteger {public static void main(String[] args) {//获取一个随机的大整数BigInteger bigIntegernew BigInteger(4,new Random());System.ou…