How to deduct mean and variance of Normal Distribution(Gaussian Distribution)?

本文详细解析了正态分布的概率密度函数形式,并通过积分计算了均值和方差。重点在于展示如何利用对称性和PDF标准化性质简化计算过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

This is Chinese version
[中文版]

Probability density function(pdf) of normal distribution is
f ( x ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 f(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^{2}}{2\sigma^{2}}} f(x)=2π σ1e2σ2(xμ)2

Mean

E ( x ) = ∫ − ∞ + ∞ x f ( x ) d x = ∫ − ∞ + ∞ 1 2 π σ x e − ( x − μ ) 2 2 σ 2 d x = ∫ − ∞ + ∞ 1 2 π σ ( x − μ ) e − ( x − μ ) 2 2 σ 2 d x + μ ∫ − ∞ + ∞ 1 2 π σ e − ( x − μ ) 2 2 σ 2 d x = ∫ − ∞ + ∞ 1 2 π σ x e − x 2 2 σ 2 d x + μ ∫ − ∞ + ∞ f ( x ) d x = μ \begin{aligned} E\left ( x \right )&=\int_{-\infty}^{+\infty}xf(x)dx\\ &=\int_{-\infty }^{+\infty }\frac{1}{\sqrt{2\pi}\sigma}xe^{-\frac{\left(x-\mu\right)^{2}}{2\sigma^{2}}}dx\\ &=\int_{-\infty }^{+\infty }\frac{1}{\sqrt{2\pi}\sigma}(x-\mu)e^{-\frac{\left(x-\mu\right)^{2}}{2\sigma^{2}}}dx+\mu\int_{-\infty }^{+\infty }\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{\left(x-\mu\right)^{2}}{2\sigma^{2}}}dx\\ &=\int_{-\infty }^{+\infty }\frac{1}{\sqrt{2\pi}\sigma}xe^{-\frac{x^{2}}{2\sigma^{2}}}dx+\mu\int_{-\infty}^{+\infty}f(x)dx\\ &=\mu \end{aligned} E(x)=+xf(x)dx=+2π σ1xe2σ2(xμ)2dx=+2π σ1(xμ)e2σ2(xμ)2dx+μ+2π σ1e2σ2(xμ)2dx=+2π σ1xe2σ2x2dx+μ+f(x)dx=μ

Focus on the penult line, the 1st integral is 0 due to symmetry, the 2nd equals 1 due to the pdf normalization property.

Variance

A.
∫ − ∞ + ∞ f ( x ) d x = ∫ − ∞ + ∞ 1 2 π σ e − x 2 2 σ 2 d x = 1 2 π σ [ ( x e − x 2 2 σ 2 ) − ∞ + ∞ − ∫ − ∞ + ∞ x d e − x 2 2 σ 2 ] = ∫ − ∞ + ∞ 1 2 π σ 3 x 2 e − x 2 2 σ 2 = 1 \begin{aligned} \int_{-\infty}^{+\infty}f(x)dx&=\int_{-\infty }^{+\infty }\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{x^{2}}{2\sigma^{2}}}dx\\ &=\frac{1}{\sqrt{2\pi}\sigma}\left [ \left ( xe^{-\frac{x^{2}}{2\sigma^{2}}} \right )_{-\infty}^{+\infty} -\int_{-\infty }^{+\infty }xde^{-\frac{x^{2}}{2\sigma^{2}}}\right] \\ &=\int_{-\infty }^{+\infty }\frac{1}{\sqrt{2\pi}\sigma^{3}}x^{2}e^{-\frac{x^{2}}{2\sigma^{2}}}\\ &=1 \end{aligned} +f(x)dx=+2π σ1e2σ2x2dx=2π σ1[(xe2σ2x2)++xde2σ2x2]=+2π σ31x2e2σ2x2=1

Follows from the pdf normalization property.

Focus on the 2nd line, where partial integral is been used.

B.
D ( x ) = E [ ( x − μ ) 2 ] = ∫ − ∞ + ∞ 1 2 π σ ( x − μ ) 2 e − ( x − μ ) 2 2 σ 2 d x = ∫ − ∞ + ∞ 1 2 π σ x 2 e − x 2 2 σ 2 \begin{aligned} D(x)&=E\left[(x-\mu)^2\right]\\ &=\int_{-\infty}^{+\infty}\frac{1}{\sqrt{2\pi}\sigma}(x-\mu)^2e^{-\frac{(x-\mu)^2}{2\sigma^2}}dx\\ &=\int_{-\infty}^{+\infty}\frac{1}{\sqrt{2\pi}\sigma}x^2e^{-\frac{x^2}{2\sigma^2}} \end{aligned} D(x)=E[(xμ)2]=+2π σ1(xμ)2e2σ2(xμ)2dx=+2π σ1x2e2σ2x2
Using this in A yields
D ( x ) = σ 2 D(x)=\sigma^2 D(x)=σ2

Finished#

<think>好的,我现在需要解决用户的问题:在使用Spring Boot时,从数据库产品名称'KingbaseES'无法推断出数据库类型的问题。首先,我需要理解这个错误通常发生在什么情况下。 根据引用[1]中的错误信息,当使用@ConditionalOnMissingBean注解时,如果Spring无法自动推断出所需的Bean类型,就会抛出类似的异常。这可能是因为Spring Boot的自动配置机制无法识别KingbaseES数据库类型,导致无法正确配置数据源。 接下来,我应该检查Spring Boot是否原生支持KingbaseES。KingbaseES是金仓数据库,可能属于国产数据库,Spring Boot的默认数据库支持列表中可能没有包含它。因此,自动配置可能无法识别该数据库的产品名称,进而无法推断出正确的数据库类型。 解决方案可能需要手动指定数据库类型。根据Spring Boot的文档,可以通过配置spring.datasource.driver-class-name和spring.datasource.url来明确指定驱动类和URL。同时,可能需要设置spring.datasource.platform属性为kingbase,以帮助Spring识别数据库类型。引用[3]中提到的问题是由于依赖版本冲突,因此检查依赖是否正确也很重要,确保没有冲突的MyBatis或其他数据库驱动版本。 另外,可能需要自定义DatabaseProvider,通过实现DatabaseDriver或使用自定义的DatabaseDetection逻辑。如果KingbaseES的JDBC驱动返回的产品名称与Spring Boot预期的不同,可能需要调整检测逻辑,例如在application.properties中强制指定数据库类型。 最后,需要确认JDBC驱动是否正确添加,并且版本兼容。如果驱动类名或URL格式有误,也会导致识别失败。建议用户检查驱动是否存在,并尝试在配置中显式声明所有必要的参数,避免依赖自动配置。</think>### 解决从数据库产品名称'KingbaseES'无法推断数据库类型的问题 #### 问题分析 当Spring Boot无法通过JDBC连接自动识别数据库类型时,通常是由于以下原因: 1. **未注册数据库类型**:Spring Boot的`DatabaseDriver`枚举未包含`KingbaseES`的标识[^1] 2. **驱动元数据不匹配**:JDBC驱动返回的`DatabaseMetaData.getDatabaseProductName()`与Spring Boot的识别逻辑不匹配 3. **缺少必要配置**:未显式指定数据库类型或驱动类 #### 解决方案 1. **手动指定数据库类型** 在`application.properties`中添加: ```properties spring.datasource.driver-class-name=com.kingbase8.Driver spring.datasource.url=jdbc:kingbase8://host:port/dbname spring.datasource.platform=kingbase ``` 2. **扩展数据库检测逻辑** ```java @Configuration public class KingbaseConfig { @Bean public DatabaseDriverProvider databaseDriverProvider() { return (url, classLoader) -> { if (url.contains("kingbase")) { return DatabaseDriver.KINGBASE; } return DatabaseDriver.fromJdbcUrl(url); }; } } ``` 3. **检查驱动依赖** ```xml <dependency> <groupId>com.kingbase</groupId> <artifactId>kingbase8</artifactId> <version>8.6.0</version> </dependency> ``` 4. **使用自定义方言(Hibernate场景)** ```properties spring.jpa.database-platform=com.example.KingbaseDialect ``` #### 验证步骤 1. 通过JDBC连接获取元数据: ```java try (Connection conn = dataSource.getConnection()) { System.out.println(conn.getMetaData().getDatabaseProductName()); } ``` 2. 检查输出是否为`KingbaseES`
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值