如何使用高斯核

时间:2020-10-02 13:16:49

标签: python python-3.x numpy

我必须使用核函数方法,使用高斯核来估算股票的收益(cs),以估计边际密度。 以下是我目前拥有的代码,但是,我正在努力寻找函数def gaussiankernel的代码。 我必须使用f(x)做其他功能吗?如果是这样,我应该在该函数中添加什么?

import pandas as pd
import numpy as np

#returns of stock (imported cs data before)
nb_ret = len(cs) - 1
RA_CS = np.zeros(nb_ret)
RA_CS = (cs[1:len(cs)].values - cs[0:(len(cs)-1)].values)/cs[0:(len(cs)-1)].values

import matplotlib.pyplot as plt
import math

nb_points=2000
obs=np.array(RA_CS)
obs.shape=(len(RA_CS),1)

def f(x) ???

def gaussiankernel(obs, nb_points, bandwidth):
    kernel_points=np.linspace(min(obs), max(obs), nb_points)
    result=np.ones(len(kernel_points))
    for x in range(0, len(kernel_points)):
        result[x]=(statistics.mean(f((kernel_points[x]- obs)/bandwidth))/ bandwidth)
        
    return np.array([kernel_points, result])

pdf_CS=gaussiankernel(RA_CS, nb_points, )

0 个答案:

没有答案