以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文
主要内容包括:
使用主成分分析法构造 PCA 指数
使用蒙特卡洛采样算法模拟抽样获取后验样本
基于 PyMC3 包做贝叶斯回归,并画出曲线分布图
为贝叶斯回归添加随机游走
一、主成分分析
- import numpy as np
- import pandas as pd
- import pandas.io.data as web
- from sklearn.decomposition import KernelPCA
- symbols = ['ADS.DE', 'ALV.DE', 'BAS.DE', 'BAYN.DE', 'BEI.DE',
- 'BMW.DE', 'CBK.DE', 'CON.DE', 'DAI.DE', 'DB1.DE',
- 'DBK.DE', 'DPW.DE', 'DTE.DE', 'EOAN.DE', 'FME.DE',
- 'FRE.DE', 'HEI.DE', 'HEN3.DE', 'IFX.DE', 'LHA.DE',
- 'LIN.DE', 'LXS.DE', 'MRK.DE', 'MUV2.DE', 'RWE.DE',
- 'SAP.DE', 'SDF.DE', 'SIE.DE', 'TKA.DE', 'VOW3.DE',
- '^GDAXI']
- %%time
- data = pd.DataFrame()
- for sym in symbols:
- data[sym] = web.DataReader(sym, data_source='yahoo')['Close']
- data = data.dropna()
- dax = pd.DataFrame(data.pop('^GDAXI'))
- data[data.columns[:6]].head()
2、应用 PCA
- scale_function = lambda x: (x - x.mean()) / x.std()
- pca = KernelPCA().fit(data.apply(scale_function))
- len(pca.lambdas_)
- pca.lambdas_[:10].round()
- get_we = lambda x: x / x.sum()
- get_we(pca.lambdas_)[:10]
- get_we(pca.lambdas_)[:5].sum()
以上内容转自 数析学院,如需完整内容可以直接查看原文


雷达卡






京公网安备 11010802022788号







