在Python中,当系数为多维时,在x点评估Hermite_e数列

  • Post category:Python

在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时的收益率预期存在差异。