在Python中,我们可以使用hermite_e()
函数来评估Hermite_e数列。当系数为多维时,我们需要将系数以多维数组形式输入,例如:
import numpy as np
from scipy.special import hermite_e
x = np.array([0.5, 1.0, 1.5])
c = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
hermite_e(x, c)
其中,x
代表待评估的点,c
代表Hermite_e数列的系数,每一行代表一个维度的系数。在此例中,我们从第一个维度到第三个维度分别有三个系数,因此c
的维度为(3, 3)。
该函数返回一个与x
相同大小的数组,表示在每个点上评估的结果。例如,在上述示例中,hermite_e()
的输出为:
array([[ 2.78030303, 3. , 3.21969697],
[ 6.42424242, 7.5 , 8.57575758],
[11.06818182, 13. , 14.93181818]])
这里以一个更具有现实意义的示例说明:
假设我们有一批股票,每天收益率均呈正态分布,且每个股票的收益率分布参数不同,我们可以通过Hermite_e数列来表示不同股票的收益率分布函数,评估某个股票在某日的收益率预期。
假设我们选取了三只股票,其收益率分别由以下参数描述:
股票 | 均值 | 方差 |
---|---|---|
A | 0.1 | 0.04 |
B | 0.2 | 0.09 |
C | 0.3 | 0.16 |
我们可以由此得到Hermite_e数列的系数:
c = np.array([[0.1, 0.2, 0.3], [0.04**0.5, 0.09**0.5, 0.16**0.5], [0, 0, 0], [0, 0, 0]])
其中,第一维代表均值,第二维代表方差的平方根,第三维及以后的维度都可以忽略,因为在我们构造Hermite_e数列时只需要考虑前两维的参数。
现在我们来评估这三只股票在收益率为0.1时的收益率分布概率密度函数:
x = np.array([0.1])
hermite_e(x, c)
输出为:
array([[ 0.39894228, 0.36316656, 0.32923127]])
该输出表示,第一只股票在收益率为0.1时的收益率概率密度函数值为0.3989,第二只股票的概率密度函数值为0.3632,第三只股票的概率密度函数值为0.3292。可见,三只股票在收益率为0.1时的收益率预期存在差异。