2 votos

La generación de la superficie de Densidad de Kernel Estimaciones a lo largo del tiempo

Tengo una de 1 minuciosamente OHLC conjunto de datos indexadas por el tiempo de la siguiente manera:

df_ohlc
Out[2]: 
                      open  high  low  close  index  week
Date                                                    
2011-09-13 09:53:00   5.8   6.0  5.8    6.0      1     1
2011-09-13 09:54:00   6.0   6.0  6.0    6.0      2     1
2011-09-13 09:55:00   6.0   6.0  6.0    6.0      3     1
2011-09-13 09:56:00   6.0   6.0  6.0    6.0      4     1
2011-09-13 09:57:00   6.0   6.0  6.0    6.0      5     1
...
2017-07-17 18:19:00  2176.99  2176.99  2176.50  2176.50  3073467   305
2017-07-17 18:20:00  2175.00  2177.65  2175.00  2176.99  3073468   305
2017-07-17 18:21:00  2177.80  2177.84  2173.71  2177.61  3073469   305
2017-07-17 18:22:00  2177.50  2177.50  2175.04  2175.04  3073470   305
2017-07-17 18:23:00  2177.30  2177.30  2175.00  2175.00  3073471   305

En Python,

for i in range(1,len(df_ohlc)+1):
  plt.clf()
  kde_est.iloc[i] = df_ohlc['close'][df_ohlc['week']==i].plot.kde()
  plt.show()

genera el Núcleo de la Estimación de la Densidad (un suave histograma esencialmente) para cada semana los precios de cierre del conjunto de datos. En otras palabras, se genera 305 individuales KDE parcelas para este conjunto de datos.

¿Cómo puedo localizar a todos estos KDEs a lo largo del tiempo en una de 3-Dimensiones de la superficie?

Por ejemplo, ahora cada KDE trama es [Precio de Cierre] x [de Densidad de Probabilidad]. Me gustaría introducir una nueva variable (z = tiempo) para que podamos ver los cambios en KDE con el tiempo, [el Precio de Cierre] x [de Densidad de Probabilidad] x [Semana]

1voto

Hardik Puntos 21

Quizás la manera más fácil es

1) Para escribir manualmente una función que toma una matriz(esto corresponde a sus datos durante una semana), ya sea con las manos, el uso de un kernel que desea $f(x)=\frac{1}{nh}\sum_{k=1}^n K((x-x_i)/hn)$, o el uso de scipy.estadísticas.gaussian_kde(o más en general el uso de sklearn.vecinos KernelDensity).

2) de Combinación de los resultados de la 1) a la 1 de la matriz, decir Prob.

3) el Uso de la corresponging métodos de matplotlib (plot_surface, etc) de la parcela como usted dijo [Precio]x[Prob]x[Semana]

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X