幂平均

维基百科,自由的百科全书
跳转至: 导航搜索

幂平均power mean)也叫广义平均generalized mean)或赫尔德平均Hölder mean),是毕达哥拉斯平均(包含了算术几何调和平均)的一种抽象化。

定义[编辑]

如果 p 是一个非零实数,我们可以定义实数 x_1,\dots,x_n 指数为 p 的幂平均


M_p(x_1,\dots,x_n) = \left( \frac{1}{n} \cdot \sum_{i=1}^n x_{i}^p \right)^{1/p}.\,

性质[编辑]

  • 和所有平均一样,幂平均是各参数 x_1,\dots,x_n 的一次齐次函数。即若 b 是一个正实数,则 b\cdot x_1,\dots, b\cdot x_n 指数为 p 的幂平均等于 bx_1,\dots, x_n 的幂平均。
  • 几何算术平均一样,这种平均的计算可以分解成同样大小的子块来计算。

M_p(x_1,\dots,x_{n\cdot k}) =
  M_p(M_p(x_1,\dots,x_{k}),
      M_p(x_{k+1},\dots,x_{2\cdot k}),
      \dots,
      M_p(x_{(n-1)\cdot k + 1},\dots,x_{n\cdot k}))

幂平均不等式[编辑]

一般地,如果 p < q,则 M_p(x_1,\dots,x_n) \le M_q(x_1,\dots,x_n) 且这两个平均相等当且仅当 x_1 = x_2 = \cdots = x_n。这由事实

\forall p\in\mathbb{R}\ \frac{\partial M_p(x_1,\dots,x_n)}{\partial p}\geq 0,

得出,上述不等式可由延森不等式证明。

特别地,对 p\in\{-1, 0, 1\},幂平均不等式蕴含了毕达哥拉斯平均不等式以及算术几何平均不等式

特例[编辑]

特例 n = 2 时的图形描述。

幂平均不等式的证明[编辑]

不同符号的不等式之等价[编辑]

假设指数 pq 的幂平均间有不等式:

\sqrt[p]{\sum_{i=1}^nw_ix_i^p}\leq \sqrt[q]{\sum_{i=1}^nw_ix_i^q}

\sqrt[p]{\sum_{i=1}^n\frac{w_i}{x_i^p}}\leq \sqrt[q]{\sum_{i=1}^n\frac{w_i}{x_i^q}}.

我们在两边取倒数(正实数上的严格递减函数,不等号反向):

\sqrt[-p]{\sum_{i=1}^nw_ix_i^{-p}}=\sqrt[p]{\frac{1}{\sum_{i=1}^nw_i\frac{1}{x_i^p}}}\geq \sqrt[q]{\frac{1}{\sum_{i=1}^nw_i\frac{1}{x_i^q}}}=\sqrt[-q]{\sum_{i=1}^nw_ix_i^{-q}},

我们得到了关于 -p 与 -q 的幂平均不等式,同样的推理可以倒推,从而证明了两个不等式等价,这在后面的证明中将用到。

几何平均[编辑]

对任何 q,指数为 q 的幂平均与几何平均之间的不等式为:

\prod_{i=1}^nx_i^{w_i} \leq \sqrt[q]{\sum_{i=1}^nw_ix_i^q}
\sqrt[q]{\sum_{i=1}^nw_ix_i^q}\leq \prod_{i=1}^nx_i^{w_i}

(第一个不等式对正数 q,第二个对负数)

我们在两边取 q 次幂:

\prod_{i=1}^nx_i^{w_i\cdot q} \leq \sum_{i=1}^nw_ix_i^q

两种情形我们都得到关于 x_i^q 的加权算术几何平均不等式,这可以用延森不等式证明,利用对数函数是凸函数的事实:

\sum_{i=1}^nw_i\log(x_i) \leq \log(\sum_{i=1}^nw_ix_i)
\log(\prod_{i=1}^nx_i^{w_i}) \leq \log(\sum_{i=1}^nw_ix_i)

两边取指数函数(严格递增),我们得到了不等式:

\prod_{i=1}^nx_i^{w_i} \leq \sum_{i=1}^nw_ix_i.

从而对任何正数 q,下式成立:

\sqrt[-q]{\sum_{i=1}^nw_ix_i^{-q}}\leq \prod_{i=1}^nx_i^{w_i} \leq \sqrt[q]{\sum_{i=1}^nw_ix_i^q}.

因为此不等式对任何 q 成立,足够小同样成立,可以将证明(利用洛必达法则),当 q 趋于 0 时,左右两边趋于几何平均,q 趋于 0 时的幂平均是几何平均:

\lim_{q\rightarrow 0}\sqrt[q]{\sum_{i=1}^nw_ix_i^{q}}=\prod_{i=1}^nx_i^{w_i}

幂平均不等式[编辑]

我们将证明对任何 p<q 如下不等式成立:

\sqrt[p]{\sum_{i=1}^nw_ix_i^p}\leq \sqrt[q]{\sum_{i=1}^nw_ix_i^q}.

如果 p 是负数且 q 是正数,不等式等价于上面已证过的

\sqrt[p]{\sum_{i=1}^nw_ix_i^p}\leq \prod_{i=1}^nx_i^{w_i} \leq\sqrt[q]{\sum_{i=1}^nw_ix_i^q}

对正数 pq 的证明如下:定义函数 f:{\mathbb R_+}\rightarrow{\mathbb R_+}, f(x)=x^{\frac{q}{p}}. f 是一个幂函数,所以有二阶导数:f''(x)=(\frac{q}{p})(\frac{q}{p}-1)x^{\frac{q}{p}-2},在 f 的定义域内严格正,因为 q > p,从而我们知道 f 是凸的。

利用这一点以及延森不等式,我们得到:

f(\sum_{i=1}^nw_ix_i^p)\leq\sum_{i=1}^nw_if(x_i^p)
\sqrt[\frac{p}{q}]{\sum_{i=1}^nw_ix_i^p}\leq\sum_{i=1}^nw_ix_i^q

两边取 1/q 次幂(递增函数,因 1/q 为正数)我们得到了欲证之不等式:

\sqrt[p]{\sum_{i=1}^nw_ix_i^p}\leq\sqrt[q]{\sum_{i=1}^nw_ix_i^q}.

最后使用先前证过的等价性,我们得到了关于负数 pq 的不等式,证毕。

最小值与最大值[编辑]

此段最后将证明当指数 p 趋于 -\infty+\infty,其幂平均的幂平均分别趋于最小值与最大值。定义指数为 -\infty+\infty 的幂平均为最大值与最小值。从而应该有:

\min (x_1,x_2,\ldots ,x_n)\leq \sqrt[q]{\sum_{i=1}^nw_ix_i^q}\leq \max (x_1,x_2,\ldots ,x_n)

对最大值证明如下:不失一般性假设序列 xi 非减且全不为零。则不等式等价于:

\sqrt[q]{\sum_{i=1}^nw_ix_i^q}\leq x_1

两边取 q 次幂,我们得到不等式(取决于 q 的符号):

\sum_{i=1}^nw_ix_i^q\leq {\color{red} \geq}  x_1^q

q>0 为 ≤, q<0 为 ≥

两边同时减去 w_1x_1 我们得到:

\sum_{i=2}^nw_ix_i^q\leq {\color{red} \geq} (1-w_1)x_1^q

除以 (1-w_1)

\sum_{i=2}^n\frac{w_i}{(1-w_1)}x_i^q\leq {\color{red} \geq} x_1^q

1 - w1 不为零,从而:

\sum_{i=2}^n\frac{w_i}{(1-w_1)}=1

减去 x1q 剩下:

\sum_{i=2}^n\frac{w_i}{(1-w_1)}(x_i^q-x_1^q)\leq {\color{red} \geq} 0

这是显然的,因为 x1 大于或等于任何 xi,从而

x_i^q-x_1^q\leq {\color{red} \geq} 0

对最小值证明几乎相同,只不过将 x1w1 换作 xnwn,证毕。

另一方面,当 q 大于零时,由简单的推理以及上面的不等式有

\sqrt[q]{w_1x_1^q} < \sqrt[q]{\sum_{i=1}^nw_ix_i^q} \leq x_1,

q 趋于 +\infty 时,左边同样趋于 x_1,由夹逼定理知中间项幂平均趋于 x_1。最小值的证明完全类似。

广义 f-平均[编辑]

幂平均可以推广到更一般的广义 f-平均

 M_f(x_1,\dots,x_n) = f^{-1}
\left({\frac{1}{n}\cdot\sum_{i=1}^n{f(x_i)}}\right)

例如这包括了几何平均而勿需使用极限。幂平均是由  f\left(x\right)=x^p 得到的。

应用[编辑]

信号处理[编辑]

幂平均作为一个非线性移动平均。对於小 p 值,幂平均比较偏重小信号值,对於大 p 值,幂平均则会强调大信号值。给予一个高效率移动算术平均的实施函数,称为 smooth ,工程师可以按照下述 Haskell 代码,设计一个移动幂平均实施函数:

 powerSmooth :: Floating a => ([a] -> [a]) -> a -> [a] -> [a]
 powerSmooth smooth p =
    map (** recip p) . smooth . map (**p)

参见条目[编辑]

外部链接[编辑]