误差传播率: 如果观测值存在误差,那么用它计算出来的值也存在误差.
将被计算的等式中的误差作为测量值中的误差的函数来进行估算的定律叫做误差传播定律.
随机误差:
ε
j
=
l
j
−
μ
l
;
for all
j
;
∀
j
\varepsilon_{j}=\quad l_{j}-\mu_{l} \quad ; \text { for all } \mathbf{j} ; \forall_{j}
εj=lj−μl; for all j;∀j
ε
j
\boldsymbol{\varepsilon}_{j}
εj:第j个随机误差
l
j
l_{j}
lj:第j个观测值
μ
l
\mu_{l}
μl:观测值的期望值
观测值的期望值是如何得到的呢?
μ
l
=
E
(
l
)
=
lim
n
→
∞
(
l
ˉ
)
=
lim
n
→
∞
(
1
n
∑
j
=
1
n
l
j
)
=
lim
n
→
∞
(
1
n
⋅
e
1
,
n
T
⋅
l
n
,
1
)
\mu_{l}=E(l)=\lim _{n \rightarrow \infty}(\bar{l}) =\lim _{n \rightarrow \infty}\left(\frac{1}{n} \sum_{j=1}^{n} l_{j}\right)=\lim _{n \rightarrow \infty}\left(\frac{1}{n} \cdot e_{1, n}^{T} \cdot l_{n, 1}\right)
μl=E(l)=n→∞lim(lˉ)=n→∞lim(n1j=1∑nlj)=n→∞lim(n1⋅e1,nT⋅ln,1)
系统误差:(同一组观测值的系统误差都是一样的)
Δ
l
=
μ
l
−
l
~
\Delta_{l}=\quad \mu_{l}-\tilde{l}
Δl=μl−l~
Δ
l
\Delta_{l}
Δl:系统误差
μ
l
\mu_{l}
μl:观测值的期望值
l
~
\tilde{l}
l~:真值
真误差:
η
j
=
l
j
−
l
~
=
Δ
l
+
ε
j
;
for all
j
;
∀
j
\eta_{j}=l_{j}-\tilde{l}=\Delta_{l}+\varepsilon_{j} ; \text { for all } \mathrm{j} ; \forall_{j}
ηj=lj−l~=Δl+εj; for all j;∀j
η
j
\eta_{j}
ηj:第j个真误差
l
j
l_{j}
lj:第j个观测值
l
~
\tilde{l}
l~:真值
Δ
l
\Delta_{l}
Δl:系统误差
ε
j
\boldsymbol{\varepsilon}_{j}
εj:第j个随机误差
系统误差的传播
l
n
,
1
=
l
~
n
,
1
+
Δ
l
n
,
1
+
ε
l
n
,
1
l_{n, 1}=\tilde{l}_{n, 1}+\Delta_{l_{n, 1}}+\varepsilon_{l_{n, 1}}
ln,1=l~n,1+Δln,1+εln,1
l
n
,
1
l_{n, 1}
ln,1:观测值向量
l
~
n
,
1
\tilde{l}_{n, 1}
l~n,1:真值向量
Δ
l
n
,
1
\Delta_{l_{n, 1}}
Δln,1:系统误差向量
ε
l
n
,
1
\varepsilon_{l_{n, 1}}
εln,1:随机误差向量
要求的量
f
u
,
1
f_{u, 1}
fu,1不能直接得到,需要通过函数模型
f
u
,
1
=
Φ
u
,
1
(
L
n
,
1
)
=
[
φ
1
(
l
n
,
1
)
φ
2
(
l
n
,
1
)
⋮
φ
u
(
l
n
,
1
)
]
f_{u, 1}=\Phi_{u, 1}\left(L_{n, 1}\right)=\left[\begin{array}{c} \varphi_{1}\left(l_{n, 1}\right) \\ \varphi_{2}\left(l_{n, 1}\right) \\ \vdots \\ \varphi_{u}\left(l_{n, 1}\right) \end{array}\right]
fu,1=Φu,1(Ln,1)=⎣⎢⎢⎢⎡φ1(ln,1)φ2(ln,1)⋮φu(ln,1)⎦⎥⎥⎥⎤
f
u
,
1
f_{u, 1}
fu,1:未知量向量
Φ
u
,
1
\Phi_{u, 1}
Φu,1:函数模型向量
L
n
,
1
L_{n, 1}
Ln,1:观测值向量
举例:
f
1
=
a
2
+
b
+
cos
c
f
2
=
b
3
−
a
+
tan
d
f
3
=
sin
2
a
+
cos
2
b
\begin{aligned} &f_{1}=a^{2}+\sqrt{b}+\cos c \quad \\ &f_{2}=b^{3}-a+\tan d\\ &f_{3}=\sin ^{2} a+\cos ^{2} b \end{aligned}
f1=a2+b+coscf2=b3−a+tandf3=sin2a+cos2b
通常来说函数都不是线性的.
对应的系统误差按照下式计算:
Δ f u , 1 = [ Δ f 1 Δ f 2 Δ f 3 ] \Delta f_{u, 1}=\left[\begin{array}{l} \Delta f_{1} \\ \Delta f_{2} \\ \Delta f_{3} \end{array}\right] Δfu,1=⎣⎡Δf1Δf2Δf3⎦⎤
f u , 1 = f ~ u , 1 + η f u , 1 = Φ u , 1 ( L n , 1 ) = Φ u , 1 ( L ~ n , 1 + η L n , 1 ) f_{u, 1}=\tilde{f}_{u, 1}+\eta_{f_{u, 1}}=\Phi_{u, 1}\left(L_{n, 1}\right)=\Phi_{u, 1}\left(\tilde{L}_{n, 1}+\eta_{L_{n, 1}}\right) fu,1=f~u,1+ηfu,1=Φu,1(Ln,1)=Φu,1(L~n,1+ηLn,1)
为什么要线性化?
这个我也不太明白,猜测是为了好算吗?
看wiki上举了个例子似乎是为了更好算.
参考:https://en.wikipedia.org/wiki/Linearization
如何线性化?
用一阶泰勒展开.
泰勒函数是用多项式来近似表示函数在某点周围的情况,这个公式只对
点附近的x有用,x离这个点越远,这个公式就越不准确
这个多项式需要满足:
任意带入一个值域内的数:
泰勒函数的值 = 原函数的值
泰勒函数1阶导数的值 = 原函数的一阶导数的值
泰勒函数2阶导数的值 = 原函数的二阶导数的值
以此类推.
泰勒函数是针对某一个特定的数的.
参考:
https://www.zhihu.com/question/21149770
想要求f(a+h), 就用一阶泰勒展开,但需要满足一个条件.
h
≪
x
0
h \ll x_{0}
h≪x0
公式如下:
f
(
a
+
h
)
=
f
(
a
)
+
f
′
(
a
)
h
+
o
(
h
)
f(a+h)=f(a)+f^{\prime}(a) h+o(h)
f(a+h)=f(a)+f′(a)h+o(h)
o(h)是比h高阶的无穷小
f
(
x
)
≈
f
(
a
)
+
f
′
(
a
)
(
x
−
a
)
f(x) \approx f(a)+f^{\prime}(a)(x-a)
f(x)≈f(a)+f′(a)(x−a)
用这种方法估算出来的f会跟实际的有一个差,这个差必须小于一定值,如果没有小于,就需要迭代.
公式如下
f
~
u
,
1
+
η
f
u
,
1
=
Φ
u
,
1
(
l
~
n
,
1
+
η
l
n
,
1
)
\tilde{f}_{u, 1}+\eta_{f_{u, 1}}=\Phi_{u,1}\left(\tilde{l}_{n, 1}+\eta_{l_{n, 1}}\right)
f~u,1+ηfu,1=Φu,1(l~n,1+ηln,1)
由于
η
l
\eta_{l}
ηl是个特别小的值,所以可以写成如下形式:
f
~
+
η
f
=
Φ
u
,
1
(
l
~
n
,
1
)
+
∂
Φ
(
l
)
∂
l
n
,
1
T
⋅
η
l
n
,
1
\begin{aligned} &\tilde{f}+\eta_{f}= \Phi_{u, 1}\left(\tilde{l}_{n, 1}\right)+\frac{\partial \Phi(l)}{\partial l_{n, 1}^{T}} \cdot \eta_{l_{n, 1}} \end{aligned}
f~+ηf=Φu,1(l~n,1)+∂ln,1T∂Φ(l)⋅ηln,1
也就是
f
~
+
η
f
=
Φ
(
l
~
)
⏟
f
+
∂
Φ
(
l
)
∂
l
T
⋅
η
l
⏟
η
f
\tilde{f}+\eta_{f}=\underbrace{\Phi(\tilde{l})}_{f}+\underbrace{\frac{\partial \Phi(l)}{\partial l^{T}} \cdot \eta_{l}}_{\eta_{f}}
f~+ηf=f
Φ(l~)+ηf
∂lT∂Φ(l)⋅ηl
∂ Φ u , 1 ( l ) ∂ l n , 1 T = [ ∂ φ 1 ( l ) ∂ l 1 ∂ φ 1 ( l ) ∂ l 2 ⋯ ∂ φ 1 ( l ) ∂ l n ∂ φ 2 ( l ) ∂ l 1 ∂ φ 2 ( l ) ∂ l 2 ⋯ ∂ φ 2 ( l ) ∂ l n ⋮ ⋮ ⋮ ⋮ ∂ φ u ( l ) ∂ l 1 ∂ φ u ( l ) ∂ l 2 ⋯ ∂ φ u ( l ) ∂ l n ] = [ J 11 J 12 ⋯ J 1 n J 21 J 22 ⋯ J 2 n ⋮ ⋮ ⋮ ⋮ J n 1 J n 2 ⋯ J n n ] \frac{\partial \Phi_{u,1}(l)}{\partial l^{T}_{n, 1}} =\left[\begin{array}{cccc} \frac{\partial \varphi_{1}(l)}{\partial l_{1}} & \frac{\partial \varphi_{1}(l)}{\partial l_{2}} & \cdots & \frac{\partial \varphi_{1}(l)}{\partial l_{n}} \\ \frac{\partial \varphi_{2}(l)}{\partial l_{1}} & \frac{\partial \varphi_{2}(l)}{\partial l_{2}} & \cdots & \frac{\partial \varphi_{2}(l)}{\partial l_{n}} \\ \vdots & \vdots & \vdots & \vdots \\ \frac{\partial \varphi_{u}(l)}{\partial l_{1}} & \frac{\partial \varphi_{u}(l)}{\partial l_{2}} & \cdots & \frac{\partial \varphi_{u}(l)}{\partial l_{n}} \end{array}\right]= \left[\begin{array}{llll} J_{11} & J_{12} & \cdots & J_{1 n} \\ J_{21} & J_{22} & \cdots & J_{2 n} \\ \vdots & \vdots & \vdots & \vdots \\ J_{n 1} & J_{n 2} & \cdots & J_{n n} \end{array}\right] ∂ln,1T∂Φu,1(l)=⎣⎢⎢⎢⎢⎡∂l1∂φ1(l)∂l1∂φ2(l)⋮∂l1∂φu(l)∂l2∂φ1(l)∂l2∂φ2(l)⋮∂l2∂φu(l)⋯⋯⋮⋯∂ln∂φ1(l)∂ln∂φ2(l)⋮∂ln∂φu(l)⎦⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎡J11J21⋮Jn1J12J22⋮Jn2⋯⋯⋮⋯J1nJ2n⋮Jnn⎦⎥⎥⎥⎤
F
u
,
n
=
∂
Φ
u
,
1
(
l
)
∂
l
n
,
1
T
F_{u, n}=\frac{\partial \Phi_{u, 1}(l)}{\partial l_{n, 1}^{T}}
Fu,n=∂ln,1T∂Φu,1(l)
F
u
,
n
F_{u, n}
Fu,n是线性函数的系数?
误差传播率:
η f u , 1 = F u , n ⋅ η l n , 1 \eta_{f_{u, 1}}=F_{u, n} \cdot \eta_{l_{n, 1}} ηfu,1=Fu,n⋅ηln,1
下面来求系统误差传播率:
观测值的真误差:
η
l
n
,
1
=
Δ
l
n
,
1
+
ε
l
n
,
1
\eta_{l_{n, 1}}=\Delta_{l_{n, 1}}+\varepsilon_{l_{n, 1}}
ηln,1=Δln,1+εln,1
未知量的真误差:
η
f
n
,
1
=
Δ
f
n
,
1
+
ε
f
n
,
1
\eta_{f_{n, 1}}=\Delta_{f_{n, 1}}+\varepsilon_{f_{n, 1}}
ηfn,1=Δfn,1+εfn,1
根据以上,可知:
η
f
u
,
1
=
Δ
f
+
ε
f
=
F
u
,
n
⋅
η
l
n
,
1
=
F
u
,
n
⋅
Δ
l
+
F
u
,
n
⋅
ε
l
\eta_{f_{u, 1}}=\Delta_{f}+\varepsilon_{f}=F_{u, n} \cdot \eta_{l_{n, 1}}=F_{u,n} \cdot \Delta_{l}+F_{u,n} \cdot \varepsilon_{l}
ηfu,1=Δf+εf=Fu,n⋅ηln,1=Fu,n⋅Δl+Fu,n⋅εl
期望值为:
E
(
η
f
u
,
1
)
=
Δ
f
+
E
(
ε
f
)
⏟
0
=
F
u
,
n
⋅
Δ
e
+
F
u
,
n
⋅
E
(
ε
l
)
⏟
0
E\left(\eta_{f_{u, 1}}\right)=\Delta_{f}+\underbrace{E\left(\varepsilon_{f}\right)}_{0}=F_{u,n} \cdot \Delta_{e}+\underbrace{F_{u,n} \cdot E\left(\varepsilon_{l}\right)}_{0}
E(ηfu,1)=Δf+0
E(εf)=Fu,n⋅Δe+0
Fu,n⋅E(εl)
系统误差传播率:
Δ
f
u
,
1
=
F
u
,
n
⋅
Δ
l
n
,
1
\Delta_{f_{u, 1}}=F_{u, n} \cdot \Delta_{l_{n, 1}}
Δfu,1=Fu,n⋅Δln,1
下面来求随机误差传播率:
误差传播率展开:
η
f
u
,
1
=
Δ
f
u
,
1
+
ε
f
u
,
1
=
f
u
,
n
⋅
Δ
l
h
,
1
⏟
Δ
f
+
f
⋅
ε
l
⏟
ε
f
\eta_{f_{u, 1}}=\Delta_{f_{u, 1}}+\varepsilon_{f_{u, 1}}=\underbrace{f_{u, n} \cdot \Delta_{l_{h, 1}}}_{\Delta_{f}}+\underbrace{f \cdot \varepsilon_{l}}_{\varepsilon_{f}}
ηfu,1=Δfu,1+εfu,1=Δf
fu,n⋅Δlh,1+εf
f⋅εl
随机误差传播率:
E
f
u
,
1
=
f
u
,
n
⋅
E
l
n
,
1
\mathcal{E}_{f_{u, 1}}=f_{u, n} \cdot \mathcal{E}_{l_{n, 1}}
Efu,1=fu,n⋅Eln,1
然而
E
l
\mathcal{E}_{l}
El在实践中通常是未知的.
解决方法: 使用方差协方差矩阵
观测值的方差-协方差矩阵是已知的.为什么???我迷茫了
Σ
L
L
n
,
1
=
E
{
ε
r
n
,
1
⋅
ε
l
n
,
1
T
}
\Sigma_{L L_{n, 1}}=E\left\{\varepsilon_{r_{n, 1}} \cdot \varepsilon_{l_{n, 1}}^{T}\right\}
ΣLLn,1=E{εrn,1⋅εln,1T}
Σ
L
L
n
,
n
=
[
σ
1
2
σ
12
…
σ
1
n
σ
21
σ
2
2
…
σ
2
n
⋮
⋮
⋮
⋮
σ
n
1
σ
n
2
⋯
σ
n
2
]
\Sigma_{LL_{n,n}}=\left[\begin{array}{cccc} \sigma_{1}^{2} & \sigma_{12} & \dots & \sigma_{1n} \\ \sigma_{21} & \sigma_{2}^{2} & \dots & \sigma_{2n} \\ \vdots & \vdots & \vdots & \vdots \\ \sigma_{n 1} & \sigma_{n 2} & \cdots & \sigma_{n}^{2} \end{array}\right]
ΣLLn,n=⎣⎢⎢⎢⎡σ12σ21⋮σn1σ12σ22⋮σn2……⋮⋯σ1nσ2n⋮σn2⎦⎥⎥⎥⎤
想要得到:
Σ
f
f
u
,
u
=
E
{
ε
f
u
,
1
⋅
ε
f
1
,
u
T
}
\Sigma_{f f_{u, u}}=E\left\{\varepsilon_{f_{u, 1}} \cdot \varepsilon_{f_{1, u}}^{T}\right\}
Σffu,u=E{εfu,1⋅εf1,uT}
Σ
f
f
u
,
u
=
[
σ
1
2
σ
12
⋯
σ
1
u
σ
21
σ
2
2
⋯
σ
2
u
⋮
⋮
⋮
⋮
σ
u
1
σ
u
2
⋯
σ
u
2
]
of
f
u
,
1
\Sigma_{f f_{u, u}}=\left[\begin{array}{cccc} \sigma_{1}^{2} & \sigma_{12} & \cdots & \sigma_{1u} \\ \sigma_{21} & \sigma_{2}^{2} & \cdots & \sigma_{2u} \\ \vdots & \vdots & \vdots & \vdots \\ \sigma_{u 1} & \sigma_{u 2} & \cdots & \sigma_{u}^{2} \end{array}\right] \text { of } f_{u, 1}
Σffu,u=⎣⎢⎢⎢⎡σ12σ21⋮σu1σ12σ22⋮σu2⋯⋯⋮⋯σ1uσ2u⋮σu2⎦⎥⎥⎥⎤ of fu,1
由于
E
f
u
,
1
=
f
u
,
n
⋅
E
l
n
,
1
E
f
u
,
1
T
=
E
l
n
,
1
T
⋅
f
u
,
n
T
\mathcal{E}_{f_{u, 1}}=f_{u, n} \cdot \mathcal{E}_{l_{n, 1}}\\ \mathcal{E}^T_{f_{u, 1}}=\mathcal{E}^ T_{l_{n, 1}}\cdot f^T_{u, n}
Efu,1=fu,n⋅Eln,1Efu,1T=Eln,1T⋅fu,nT
可以推出
ε
f
u
,
1
⋅
ε
f
1
,
u
T
=
F
u
,
n
⋅
ε
u
u
,
1
⋅
ε
l
l
,
u
T
⋅
F
u
,
n
T
\varepsilon_{f_{u, 1}} \cdot \boldsymbol{\varepsilon}_{f_{1, u}}^{T}=F_{u,n} \cdot \varepsilon_{u_{u, 1}} \cdot \varepsilon_{l_{l, u}}^{T} \cdot F^{T}_{u,n}
εfu,1⋅εf1,uT=Fu,n⋅εuu,1⋅εll,uT⋅Fu,nT
E
{
ε
f
u
,
1
⋅
ε
f
u
,
1
T
}
⏟
Σ
f
f
u
,
u
=
F
u
,
n
⋅
E
{
ε
l
n
,
1
⋅
ε
l
n
,
1
T
}
⏟
Σ
L
L
n
,
n
⋅
F
u
,
n
T
E \underbrace{\left\{\varepsilon_{f_{u, 1}} \cdot \varepsilon_{f_{u, 1}}^{T}\right\}}_{\Sigma_{f f_{u, u}}}=F_{u,n} \cdot \underbrace{E\left\{\varepsilon_{l_{n, 1}} \cdot \varepsilon_{l_{n, 1}}^{T}\right\}}_{\Sigma_{L L_{n, n}}} \cdot F^{T}_{u,n}
EΣffu,u
{εfu,1⋅εfu,1T}=Fu,n⋅ΣLLn,n
E{εln,1⋅εln,1T}⋅Fu,nT
方差协方差传播率:
Σ
f
f
u
,
n
=
F
u
,
n
⋅
Σ
L
L
n
,
n
⏟
V
C
M
⋅
F
u
,
n
T
\Sigma_{f f_{u, n}}=F_{u, n} \cdot \underbrace{\Sigma_{L L_{n, n}}}_{V C M} \cdot F_{u, n}^{T}
Σffu,n=Fu,n⋅VCM
ΣLLn,n⋅Fu,nT