B站台湾大学郭彦甫|MATLAB 学习笔记|13 统计 Statistics_&_Data_Analysis
MATLAB学习笔记(13 统计 Statistics_&_Data_Analysis)
目录
1. 介绍
- 主要统计方法分类

-
叙述统计学:描述数据的方法
- Numerical and graphical methods to look for patterns, to summarize the information in a data set
-
推论统计学:利用给出的数据假设数据可以呈现什么,这个假设是为真或者不为真。
- Methods to make estimates, decisions, and predictions using sample data
2. 叙述统计学(Descriptive Statistics)

2.1 平均数,中位数,众数,四分位数
平均数 (Mean),中位数 (Median),众数 (Mode),四分位数 (Quartile)
四分位数 (Quartile):把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值,其中每部分包含25%的数据。中间的四分位数就是中位数,因此通常所说的四分位数是指处在25%位置上的数值 (称为下四分位数)和处在75%位置上的数值 (称为上四分位数)。

matlab表示:
函数名 | 作用 |
---|---|
mean |
Average or mean value of array |
median |
Average or mean value of array |
mode |
Most frequent values in array |
prctile |
Percentiles of a data set(可以用来计算quartile) |
2.2 极差,四分位距
极差 (Range),四分位距 (Interquartile range)
极差表示最大值-最小值
四分位距为
函数 | 内容 |
---|---|
max |
Largest elements in array |
min |
Smallest elements in array |
2.3 方差,标准差
Variance(方差):
Standard deviation(标准差):
函数 | 内容 |
---|---|
std |
Standard deviation |
var |
Variance |
exercise(P10)
题目:
找出该变量 的以下属性:
-
Mean, median, mode, and quartile
-
Range and interquartile range
-
Variance and standard deviation
提示:
load stockreturns;
x4 = stocks(:,4);
解:
clear
load stockreturns;
x4 = stocks(:,4);
mean = mean(x4);
median = median(x4);
mode = mode(x4);
quartile = prctile(x4,[25 75],'all'); % quartile(1)表示25分位的数(q1),quartile(2)表示75分位的数(q3)
range = max(x4)-min(x4);
interquartile_range = quartile(2)-quartile(1); % q3-q1
variance = var(x4);
standard_deviation = std(x4);
exercise(P12)
题目:
给出以下样本:

x = [1 3 5 5 5 5 7 9 9 9 10 13 14];
画出这些图:

解:
clear
clc
x = [1 3 5 5 5 5 7 9 9 9 10 13 14];
%计算频率frequency
%i:确定x的元素,k:计算x(i)是否有重复,j:计算元素重复次数,num:该元素重复次数,
%freq:保存元素的大小和元素出现的次数
for i=1:length(x)
mark = 0; %x(1)不能跳过
%判断x(i)是否有重复
for k=1:i-1
if i>1 && x(i)==x(k) %有重复
mark = 1;
else % 没有重复
mark = 0;
end
end
if mark==1 %有重复,跳过该x(i)
elseif mark==0 %没有重复
num=1;
for j=1:(length(x)-i) % j+i<=length(x)
if x(i)==x(i+j)
num=num+1;
end
end
freq(x(i))=num;
end
end
%画图
X = 1:max(x); %横坐标范围为1:14
subplot(1,3,1); bar(X,freq); xlim([0 max(x)]);
subplot(1,3,2); area(X,freq);xlim([0 max(x)]);
subplot(1,3,3); stem(X,freq); xlim([0 max(x)]);

算法流程图如下(可参考)

2.5 箱线图:Boxplot()

exercise(P15)
题目:
画出变量 stocks
的箱线图

load stockreturns;
%把里面的每个column画成一个箱线图
解:
clear
clc
clf
load stockreturns;
for n=1:size(stocks,2) %size(stocks,2)表示stocks中第二维度长度
x(:,n) = stocks(:,n); %x中的第1列元素等于stocks中的第1列元素
end
X = 1:size(stocks,2); %X表示横坐标
boxplot(x,X);
title('exercise');

2.6 偏度:skewness()
三种偏态分类:(可以理解为平均值相对正态分布往左/右偏,方便记忆)

- 左偏态:skewness < 0
- 右偏态:skewness > 0
example:
clear
X = randn([10 3])*3;
X(X(:,1)<0, 1) = 0; X(X(:,3)>0, 3) = 0;% X(:,1)<0 表示小于0的数标记为1
% X的第一列元素中<0的元素用0替换,X的第三列元素中>0的元素用0替换,
boxplot(X, {'Right-skewed', 'Symmetric', 'Left-skewed'});
y = skewness(X)
>> Class13
y =
1.6574 0.0112 -0.7703

2.7 峰度(Kurtosis)
峰度是用来测量分布的平坦度,正态分布的峰度为零
- 正峰度:表示更尖锐的峰值
- 负峰度:表示更平坦的峰值

exercise(P19)
题目:
找到变量 stocks
每一列的偏度和峰度
load stockreturns;
解:
clear
clc
clf
load stockreturns;
for n=1:size(stocks,2) % size(stocks,2)表示stocks中第二维度长度
x(:,n) = stocks(:,n); % x的第1列元素等于stocks中的第1列元素
end
X = 1:size(stocks,2); % X表示横坐标
boxplot(x,X);
title('exercise');
skewness = skewness(x)
kurtosis = kurtosis(x)
skewness =
-0.2318 0.2304 -0.1773 -0.1236 -0.1874 -0.1527 -0.3484 -0.2678 0.0963 0.0580
kurtosis =
3.4272 2.5871 2.4970 2.8580 2.7638 2.3758 3.4207 2.4909 3.3993 3.1807
3. 推论统计学(Inferential Statistics)
3.1 假设检验
Example:
-
现在有个问题:我能否在班级中拿到成绩 A
-
经典假设:
-
和
其中 为零假设(null hypothesis,原假设), 为备择假设(alternativehy pothesis,关于总体分布的一切使原假设不成立的命题)
-
-
假设检验的步骤:
- 确定一个概率,如 95%
- 找到 的 95% 置信区间
- 检验我的成绩是否落入区间当中
- 一些专业术语:
- Confidence interval (置信区间)
- Confidence level (置信水平或置信度)
- Significance level (显著性水平)
- p-value (p值)
3.2 T型检验
load stockreturns;
x1 = stocks(:,3); x2 = stocks(:,10);
boxplot([x1, x2], {'3', '10'});
[h,p] = ttest2(x1, x2) % h代表原假设成立(1)或不成立(0),p表示原假设成立的概率,p越小越不成立
>> Class13
h =
1
p =
0.0423
3.3 一般的假设检验

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具