可汗学院统计学笔记

本文深入解析假设检验原理,包括零假设与备择假设设定,第一类与第二类错误概念,及如何通过增大样本量减少错误。同时,讲解单侧与双侧检验的应用场景。

假设检验

假设检验和参数估计是统计推断里面两个重要的组成部分,两个知识点从不同方面来对统计推断做出阐述,参数估计是通过样本的统计量估计总体的参数,从而衍生出了点估计和区间估计。假设检验则是首先做出一个假设,进而验证这个假设的真实性,就比如说你说行,那我就要检验下你到底行不行。

假设检验知识点:

  • 零假设:也称为原假设,即我们想要验证的假设。
  • 备择假设:即零假设不成立的情况下,备择假设则成立,和零假设是对立关系。
  • 第一类错误:即拒真率,这个假设是真,而我们拒绝的概率。一般情况下,拒真率和显著性水平相等。
  • 第二类错误:这个假设是假,而我们错误认为它是真。第一类错误和第二类错误一般呈现相反关系,即第一类错误减少,则第二类错误增加,相反地,第一类错误增加,则第二类错误减少。当然,也有同时使两类错误变小的办法,就是增大样本量,但是样本量不可能没有限制。

假设检验的流程:

  1. 提出零假设和备择假设
  2. 确定适当的检验统计量,并计算其数值。在参数的假设检验中,如同在参数估计中一样,要借助样本统计量进行统计推断,这个统计推断称为检验统计量。计算统计量则类似于分数转化过程,把一般得分转化为标准得分。
  3. 通过比较进行统计决策。进行假设检验利用的是小概率原理,小概率原理是指发生概率很小的随机事件在一次实验中几乎是不可能的,如果这个情况真的出现了,我们有理由认为总体的真值不在原假设里面。

单侧检验与双侧检验:

通俗的理解,如果原假设中是相等的情况,则属于双侧检验。另外一些情况下,我们关心的假设问题带有方向性。有两种情况,一种是我们所观察的数值越大越好,如灯泡的使用寿命,轮胎行驶的历程数等。另一种是数值越小越好,如废品率,生产成本等,则需要使用单侧检验。

对于程序员来说,数学是构建高效算法和理解复杂系统的基础。以下是专为程序员设计的数学课程和学习资源推荐: ### 1. **面向程序员的实用深度学习课程2022** - 这门课程基于《Deep Learning for Coders with fastai and PyTorch》一书,提供了针对程序员的深度学习入门知识[^1]。 - 该课程特别适合那些希望在不需要大学水平数学能力的情况下进入深度学习领域的程序员。它涵盖了必要的微积分和线性代数基础,并通过实际编程练习加深理解。 ### 2. **Khan Academy(可汗学院)** - 可汗学院提供了一系列免费的在线数学课程,包括线性代数、概率论和统计学等主题。 - 这些课程非常适合初学者和中级学习者,尤其是那些希望通过互动视频和练习来加强数学技能的程序员。 ### 3. **Coursera 和 edX 上的数学课程** - Coursera 和 edX 平台上有许多由世界顶级大学提供的数学课程,例如: - 斯坦福大学的“机器学习”课程中包含了大量编程相关的数学内容。 - 麻省理工学院(MIT)的“线性代数”课程,由Gilbert Strang教授讲授,是学习线性代数的经典资源。 - 这些课程通常包含详细的理论讲解以及实际应用案例,有助于程序员将数学知识应用于解决现实问题。 ### 4. **Udemy 的编程导向数学课程** - Udemy 提供了一些专门针对程序员的数学课程,如“Mathematics for Programmers”系列课程。 - 这些课程侧重于帮助程序员掌握用于算法开发和数据分析的核心数学概念。 ### 5. **书籍推荐** - 《Concrete Mathematics: A Foundation for Computer Science》- Ronald L. Graham, Donald E. Knuth, Oren Patashnik - 这本书深入探讨了计算机科学中常用的数学技巧和技术,非常适合想要深入了解算法背后的数学原理的程序员。 - 《Introduction to Linear Algebra》- Gilbert Strang - 线性代数的经典教材之一,适合所有级别的读者,特别是对图像处理、机器学习等领域感兴趣的程序员。 ### 6. **在线社区和论坛** - Stack Overflow 和 Reddit 的 r/learnmath 子版块都是寻求特定问题解答的好地方。 - GitHub 上也有不少开源项目和笔记,这些资源往往是由其他程序员整理的学习指南或教程,非常实用。 ### 示例代码:使用Python进行基本的数学计算 ```python import numpy as np # 创建两个矩阵 A = np.array([[1, 2], [3, 4]]) B = np.array([[5, 6], [7, 8]]) # 计算矩阵乘积 C = np.dot(A, B) print("Matrix Multiplication Result:\n", C) # 求解线性方程组 Ax=b b = np.array([9, 25]) x = np.linalg.solve(A, b) print("Solution to linear equations:", x) ``` 这段代码展示了如何利用 NumPy 库执行常见的线性代数运算,这对于理解和实现涉及向量空间操作的各种算法至关重要。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值