题 6.1
取倒数得:
y1=a+xb
令 Y=y1,X=x1,则化为线性模型 Y=a+bX。
列出正规方程组:
(5∑i=15Xi∑i=15Xi∑i=15Xi2)(ab)=(∑i=15Yi∑i=15XiYi)
也即:
(52.28332.28331.4636)(ab)=(12.28416.0326)
解得:
a≈1.9980,b≈1.0048
故拟合函数为:
y=1.9980x+1.0048x
题 6.2
令:
A=1−12−11−2,b=5−410
则正规方程为:
ATAx=ATb
其中:
ATA=(6−6−66),ATb=(29−29)
注意矩阵 ATA 奇异。从而最小二乘解不唯一,只能解得如下形式通解:
x1=x2+629,x2∈R
考虑取其中的最小范数解,也即:
min(x12+x22)=min[2x22+329x2+(629)2]
解得最小范数解:
x1=1229≈2.4167,x2=−1229≈−2.4167
题 6.3
取基函数 φ1(x)=x1,φ2(x)=x,定义离散内积 (f,g)=∑i=15f(xi)g(xi)。
则有:
(φ1,φ1)(φ1,φ2)(φ2,φ2)(y,φ1)(y,φ2)=∑xi21=1.3559=∑1=5=∑xi2=121=∑xiyi=16.0654=∑xiyi=304.5100
列出正规方程组:
(1.355955121)(ab)=(16.0654304.5100)
解得:
a≈3.0300,b≈2.3914
从而最佳平方逼近为:
y=x3.0300+2.3914x
题 6.4
前三阶 Legendre 正交多项式为:
P0(x)=1,P1(x)=x,P2(x)=23x2−1
且内积 (Pk,Pk)=2k+12。
设最佳平方逼近多项式为 S(x)=c0P0(x)+c1P1(x)+c2P2(x),f(x)=cos(πx),则展开系数:
ck=(Pk,Pk)(f,Pk)=22k+1(f,Pk)=22k+1∫−11cos(πx)Pk(x)dx
从而:
c0=21∫−11cos(πx)dx=2πsin(πx)−11=0
c1=23∫−11cos(πx)xdx=0
c2=25∫−11cos(πx)23x2−1dx=2π215xcos(πx)−11=−π215
从而最佳平方逼近多项式为:
S(x)=c0P0(x)+c1P1(x)+c2P2(x)=−π215⋅23x2−1=−2π245x2+2π215≈−2.2797x2+0.7599
题 6.5
cosnθ=(2eiθ+e−iθ)n=2n1k=0∑nCnkei(n−2k)θ
且有:
cosnθ=cosn(−θ)=2n1k=0∑nCnke−i(n−2k)θ
相加即得:
cosnθ=2n1k=0∑nCnk2ei(n−2k)θ+e−i(n−2k)θ=2n1k=0∑nCnkcos((n−2k)θ)
令 x=cosθ,由于 Tn(x)=Tn(cosθ)=cos(nθ) 代入即得:
xn=2n1k=0∑nCnkcos(∣n−2k∣θ)=2n1k=0∑nCnkT∣n−2k∣(x)
从而当 n 为奇数时:
2n−1cn−2j=Cnj,j=0,1,…,2n−1
当 n 为偶数时:
2n−1cn−2j=Cnj,j=0,1,…,2n−12n−1c0=21Cnn/2
运行结果:
input: 6
output: 1 6 15 10
input: 7
output: 1 7 21 35
input: 11
output: 1 11 55 165 330 462
input: 12
output: 1 12 66 220 495 792 462
input: 15
output: 1 15 105 455 1365 3003 5005 6435
题 6.6
使用 SINDy 进行非线性动力学的稀疏辨识。
1. 数据标准化
先对数据做标准化,避免不同族群间数量级差异问题。对每个物种 i 的观测序列:
μiσip~i,j=m+11j=0∑mpi,j=m1j=0∑m(pi,j−μi)2=σipi,j−μi
后续所有运算均在标准化后的数据 {p~i,j} 上进行。
若需还原到原量纲,可利用 p~i=(pi−μi)/σi 做变量替换,将方程改写为关于原始种群数量 pi 的表达式。
2. 导数数据构造
对每个物种 i 和时刻 j=0,1,…,m−1:
p~˙i,j=Δtp~i,j+1−p~i,j
得到 m 个样本点。
3. 构建候选函数库
假设 fi 可以表示为以下多元多项式基的线性组合:
Θ(p)=[1,p1,p2,…,pn,p12,p1p2,…,pn2,…]T
不妨取多项式最高阶数为 d=2,则库中共有 K=(dn+d)=2(n+2)(n+1) 个基函数,记为:
θ1(p),θ2(p),…,θK(p)
其中线性项可反映种群自然增长/衰减;二次项 pkpl 可反映种间相互作用(捕食、竞争、互惠);常数项可反映外部输入。
4. 建立回归模型
对每个物种 i,假设:
fi(p)=k=1∑Kξi,kθk(p)
其中 ξi,k 为待求系数。代入所有 m 个采样时刻,得到线性方程组:
P~˙i∈Rmp~˙i,0p~˙i,1⋮p~˙i,m−1=Θ(P~)∈Rm×Kθ1(p~0)θ1(p~1)⋮θ1(p~m−1)θ2(p~0)θ2(p~1)⋮θ2(p~m−1)⋯⋯⋱⋯θK(p~0)θK(p~1)⋮θK(p~m−1)ξi∈RKξi,1ξi,2⋮ξi,K
简记为:
P~˙i=Θ(P~)ξi
5. 最小二乘求解
由于 m≫K,这是超定线性系统,可用最小二乘法求解:
ξi=argξminP~˙i−Θ(P~)ξ22
正规方程组解为:
ξi=(Θ(P~)TΘ(P~))−1Θ(P~)TP~˙i
6. 稀疏正则化
在实际的生态系统中,每个物种通常只与少数其他物种存在直接相互作用。
因此 ξi 应该是稀疏向量。
最小二乘解通常非稀疏且过拟合,从而可以改用 LASSO:
ξiminP~˙i−Θξi22+λ∥ξi∥1
其中 λ>0 为正则化超参数,控制稀疏度。
λ 可通过 K-折交叉验证选取:在训练集上求解 ξi,在验证集上评估预测误差,选择使验证误差最小的 λ。
7. 组装微分方程
对第 i 个物种,设经 LASSO 求解后得到的稀疏系数为 ξ^i,1,…,ξ^i,K。
则该物种的演化方程为:
dtdp~i=fi(p~1,…,p~n)=k=1∑Kξ^i,kθk(p~),i=1,2,…,n
将 n 个物种的方程联立,即得到完整的生态系统常微分方程组。