找回密码
 立即注册
搜索
查看: 20|回复: 0

医学统计学:离散趋势指标详解与R语言实现指南

[复制链接]

3万

主题

0

回帖

9万

积分

管理员

积分
90521
发表于 2025-3-14 14:17:43 | 显示全部楼层 |阅读模式
[]]

[[]03723]

本章的统计概念及公式有很多是从《生物医学研究的统计方法》、《卫生统计学》中摘录而来的。如果有需要,大家可以直接去查看原文。

一、概述

[[]4859]

为了比较全面地把握资料的分布特征,一方面需要了解数据的集中位置,另一方面需要了解数据的离散程度。常用的描述离散趋势的统计指标有:极差,它能体现数据的离散情况;四分位数间距,可用于反映数据的离散程度;方差,是描述数据离散程度的一个指标;标准差,也是衡量数据离散程度的统计量;变异系数(掌握),同样可用于描述数据的离散趋势。

二、离散趋势指标

01

极差

极差(R),它的定义是最大值与最小值的差。极差能够概略地反映出个体取值的变异程度。当样本量接近的同类资料进行比较时,如果极差越大,就意味着数据越离散,也就意味着数据间的变异越大。

不足:

计算简便但极差极差。它仅利用了样本中最大值与最小值的信息,无法反映其他观察值的变异情况。

另外,一般来说,如果样本量 n 比较大,那么就更有机会观察到比一般数据偏大或者偏小的数据,这样 R 可能就会越大。所以,当样本含量相差非常悬殊的时候,是不适合比较极差的。

样本量相同的情况下,因为抽样误差的影响,全距的计算结果容易出现波动,并且 R 也常常不够稳定。

02

四分位数间距

四分位数间距用(,Q)表示,它是百分位数 P25 与百分位数 P75 的差值,即 Q 等于 P75 减去 P25 。

同类资料进行比较时,Q 越大就表明数据之间的变异越大。四分位数间距能够用于各种分布的资料,尤其是对于偏峰分布的资料,常常会将中位数和四分位数间距结合起来,以此来描述资料的集中趋势和离散趋势。

四分位数间距比极差更稳定。然而,它仍然没有考虑到资料中每个观察值的离散程度。

03

方差

极差没有考虑每个观察值的离散程度,四分位数间距也没有考虑每个观察值的离散程度。很自然地,人们会想到用每个观察值 X 与均数 μ 的差值之和,也就是离均差和∑(X - μ)来反映所有观察值的离散程度。不过,离均差存在正有负的情况。

首先考虑将每个观察值进行离均差处理,即求出每个观察值与均值的差,然后将这些离均差平方。接着把每个观察值的离均差平方后再进行求和,用离均差平方和∑(X-μ)² 来反映所有观察值的变异大小。因为参加计算的个体数量越多,离均差平方和往往就会越大。所以要对离均差平方和按例数 N 取平均,这样得到的结果就是方差。

方差,也叫做均方差。总体方差用 Var(X)或者 o² 来表示。它的计算公式是:

总体均数是μ,总体中个体例数为 N。离均差平方和被称为∑(X - μ)²,其意义在于总体内所有观察值与总体均数差值的平方进行求和。在同类资料比较时,方差越大,就意味着数据间的离散程度越大,或者说资料的变异度越大。

在实际应用里,总体均值μ通常是未知的,N 一般也很大,再者总体内的个体存在有无限多个的情况。所以,在抽样研究中,经常会用样本均数去估计总体均数,用样本方差来对总体方差进行估计。样本方差是用 S²来表示的,它的计算公式为:

其中X为样本均数,n为样本含量。

04

[]

方差能够利用所有观察值的信息来描述资料的变异程度。然而,方差的量纲是原变量量纲的平方。正因如此,在统计应用中,更为常用的变异度指标是方差的算术平方根,此算术平方根被称为标准差。并且,标准差的量纲与原变量是一致的。

同类资料比较时,如同和方差比较一样,标准差越大,就意味着观察值的离散程度越大,也意味着变异度越大。方差与标准差都适用于对称分布的资料,尤其对于正态分布或近似正态分布的资料,常常会将均数和标准差结合起来,以此来全面地描述资料的集中趋势和离散趋势。

05

变异系数



变异系数(CV)。它主要用于量纲不同的变量之间,以及均数差别较大的变量之间变异程度的比较。其计算公式是:

其中样本标准差是 S,样本均数是 X。变异系数 CV 的意义在于,变异的大小(S)与平均水平(X)相比的百分比。变异系数不存在单位,能够消除量纲的影响。变异系数越大,就意味着相对于均数来说,变异程度越大。

适合用于比较量纲不同的变量之间的变异程度,也适合用于比较量纲相同但均数水平相差较大的变量之间的变异程度。

三、分布形态的统计指标

描述分布形态的统计指标:偏度系数与峰度系数。

01

偏度系数

偏度系数是 SKEW 。样本偏度系数是按照以下公式来进行计算的。

样本含量为 n,样本均数为 X,样本标准差为 S。理论上,当总体偏度系数为 0 时,分布是对称的;若总体偏度系数取正值,分布为正偏峰;若总体偏度系数取负值,分布为负偏峰。

02

峰度系数

样本峰度系数按以下公式计算:

其中样本含量为 n,样本均数为 X;样本标准差为 S。从理论上来说,正态分布的总体峰度系数是 0;当它取负值时,其分布比正态分布的峰更平更阔;当它取正值时,其分布比正态分布的峰更尖更峭。

[]

01

极差

极差我们根据定义使用最大值减去最小值即可得到,如:

<p><pre class="code-snippet__js" data-lang="swift">    <code><span class="code-snippet_outer">height<-<span class="code-snippet__built_in">c</span>(<span class="code-snippet__number">112</span>,<span class="code-snippet__number">123</span>,<span class="code-snippet__number">123</span>,<span class="code-snippet__number">132</span>,<span class="code-snippet__number">150</span>)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__type">R</span><-<span class="code-snippet__built_in">max</span>(height)-<span class="code-snippet__built_in">min</span>(height)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__type">R</span></span></code></pre></p>
输出结果为:

<p><pre class="code-snippet__js" data-lang="json">    <code><span class="code-snippet_outer">[<span class="code-snippet__number">1</span>] <span class="code-snippet__number">38</span></span></code></pre></p>
02

四分位数间距

四分位数间距,我们可以通过2种方法实现:

第一使用上篇推文介绍的函数求出,如:

<p><pre class="code-snippet__js" data-lang="xml">    <code><span class="code-snippet_outer">IQR<span class="code-snippet__tag"><<span class="code-snippet__name">计算身高的分位数,其中一个分位数的概率为 0.75,另一个分位数的概率也为 0.75,然后用前者减去后者,即计算 quantile(height,probs=0.75) 减去 quantile(height,probs=0.75) 的结果。</span> = <span class="code-snippet__string">0.25)</span></span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">IQR</span></span></code></pre></p>
结果输出为:

<p><pre class="code-snippet__js">    <code><span class="code-snippet_outer">9</span></code></pre></p>
第二使用stats包的IQR函数实现,如:

<p><pre class="code-snippet__js">    <code><span class="code-snippet_outer">library(stats)</span></code><code><span class="code-snippet_outer">IQR(height)</span></code></pre></p>
结果输出为:

<p><pre class="code-snippet__js" data-lang="json">    <code><span class="code-snippet_outer">[<span class="code-snippet__number">1</span>] <span class="code-snippet__number">9</span></span></code></pre></p>
03

方差



方差我们可以使用var函数实现,函数用法如下:

<p><pre class="code-snippet__js" data-lang="php">    <code><span class="code-snippet_outer"><span class="code-snippet__keyword">var</span>(x, y = <span class="code-snippet__keyword">NULL</span>, na.rm = <span class="code-snippet__keyword">FALSE</span>, <span class="code-snippet__keyword">use</span>)</span></code></pre></p>
如我们求方差:

<p><pre class="code-snippet__js" data-lang="swift">    <code><span class="code-snippet_outer">height<-<span class="code-snippet__built_in">c</span>(<span class="code-snippet__number">112</span>,<span class="code-snippet__number">123</span>,<span class="code-snippet__number">123</span>,<span class="code-snippet__number">132</span>,<span class="code-snippet__number">150</span>)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">var</span>(height)</span></code></pre></p>
结果输出为:

<p><pre class="code-snippet__js" data-lang="css">    <code><span class="code-snippet_outer"><span class="code-snippet__selector-attr">[1]</span> 201<span class="code-snippet__selector-class">.5</span></span></code></pre></p>
04

标准差

标准差我们可以使用函数sd实现,函数用法如下:

<p><pre class="code-snippet__js" data-lang="objectivec">    <code><span class="code-snippet_outer">sd(x, na.rm = <span class="code-snippet__literal">FALSE</span>)</span></code></pre></p>
如:

<p><pre class="code-snippet__js" data-lang="swift">    <code><span class="code-snippet_outer">height<-<span class="code-snippet__built_in">c</span>(<span class="code-snippet__number">112</span>,<span class="code-snippet__number">123</span>,<span class="code-snippet__number">123</span>,<span class="code-snippet__number">132</span>,<span class="code-snippet__number">150</span>)</span></code><code><span class="code-snippet_outer">sd(height)</span></code></pre></p>
输出结果为:

<p><pre class="code-snippet__js" data-lang="css">    <code><span class="code-snippet_outer"><span class="code-snippet__selector-attr">[1]</span> 14<span class="code-snippet__selector-class">.19507</span></span></code></pre></p>
05

变异系数

变异系数我们根据定义:样本标准差除以样本均数实现。如:

<p><pre class="code-snippet__js" data-lang="swift">    <code><span class="code-snippet_outer">height<-<span class="code-snippet__built_in">c</span>(<span class="code-snippet__number">112</span>,<span class="code-snippet__number">123</span>,<span class="code-snippet__number">123</span>,<span class="code-snippet__number">132</span>,<span class="code-snippet__number">150</span>)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__type">CV</span><-sd(height)/mean(height)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__type">CV</span></span></code></pre></p>
结果输出为:

<p><pre class="code-snippet__js" data-lang="css">    <code><span class="code-snippet_outer"><span class="code-snippet__selector-attr">[1]</span> 0<span class="code-snippet__selector-class">.110899</span></span></code></pre></p>
06

偏度系数

R 能够通过包的函数来实现,同时也可以通过包的函数来实现,在此我们列举其中的一个:

<p><pre class="code-snippet__js" data-lang="swift">    <code><span class="code-snippet_outer">library(moments)</span></code><code><span class="code-snippet_outer">height<-<span class="code-snippet__built_in">c</span>(<span class="code-snippet__number">112</span>,<span class="code-snippet__number">123</span>,<span class="code-snippet__number">123</span>,<span class="code-snippet__number">132</span>,<span class="code-snippet__number">150</span>)</span></code><code><span class="code-snippet_outer">skewness(height)</span></code></pre></p>
输出结果为:

<p><pre class="code-snippet__js" data-lang="css">    <code><span class="code-snippet_outer"><span class="code-snippet__selector-attr">[1]</span> 0<span class="code-snippet__selector-class">.6220841</span></span></code></pre></p>
07

峰度系数

对于峰度系数,我们同样可以通过以上2个R包的函数实现,如:

<p><pre class="code-snippet__js" data-lang="swift">    <code><span class="code-snippet_outer">library(moments)</span></code><code><span class="code-snippet_outer">height<-<span class="code-snippet__built_in">c</span>(<span class="code-snippet__number">112</span>,<span class="code-snippet__number">123</span>,<span class="code-snippet__number">123</span>,<span class="code-snippet__number">132</span>,<span class="code-snippet__number">150</span>)</span></code><code><span class="code-snippet_outer">kurtosis(height)</span></code></pre></p>
输出结果为:

<p><pre class="code-snippet__js" data-lang="css">    <code><span class="code-snippet_outer"><span class="code-snippet__selector-attr">[1]</span> 2<span class="code-snippet__selector-class">.318976</span></span></code></pre></p>
总结

有些指标若手动计算,会比较麻烦。然而,通过调用 R 包,就能够很轻松地得到结果。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|【宏智网络】 ( 京ICP备20013102号 )

GMT+8, 2025-6-23 20:26 , Processed in 0.088996 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表