大數(shù)據(jù)DT 提供大數(shù)據(jù)、AI等領域干貨學習資源的「寶藏號」,跟50萬技術人共同成長,一起玩轉大數(shù)據(jù)、Python、數(shù)據(jù)分析、數(shù)據(jù)科學、人工智能!還會有各種好玩又奇葩的數(shù)據(jù)解讀,邊學習邊吃瓜!
510篇原創(chuàng)內容
公眾號
導讀:SciPy是基于NumPy的,提供了更多的科學計算功能,比如線性代數(shù)、優(yōu)化、積分、插值、信號處理等。
來源:大數(shù)據(jù)DT(ID:hzdashuju)目前在國內Matlab仍然非常流行,Matlab使用的數(shù)據(jù)格式通常是.mat文件。對此,Scipy.io包提供了可以導入導出.mat文件的接口,這樣,Python和Matlab的協(xié)同工作就變得非常容易了。示例代碼如下所示:from scipy import io as spio
import numpy as np
a=np.arange(10)
spio.savemat('a.mat',{'a':a})
data = spio.loadmat('a.mat', struct_as_record=True)
data['a']
array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
在SciPy中,線性代數(shù)運算使用的是scipy.linalg。scipy.linalg.det()可用于計算矩陣的行列式,示例代碼如下:from scipy import linalg
m=np.array([[1,2],[3,4]])
linalg.det(m)
求解最大值最小值之類的問題即為優(yōu)化問題,在SciPy中,scipy.optimization提供了最小值、曲線擬合等算法。示例代碼如下:import numpy as np
from scipy import optimize
import matplotlib.pyplot as plt
def f(x):
return x**2+20*np.sin(x)
x=np.arange(-10,10,0.1)
plt.plot(x,f(x))
由圖3-1中可以看到,對應的最小值的橫坐標大約是-2。grid=(-10,10,0.1)
x_min=optimize.brute(f,(grid,))
x_min
Out:
array([-1.42754883])
當然,當數(shù)據(jù)量較大的時候,窮舉法速度會很慢。為了提高效率,scipy.optimize也提供了諸如模擬退火等優(yōu)化算法,這里不再多講。關于作者:趙志強,金融量化與建模專家,目前在金融科技公司負責金融大數(shù)據(jù)產(chǎn)品工作,專注于研究Al在金融領域的落地應用。曾在由諾獎得主Robert Engle領導的上海紐約大學波動研究所研究全球金融風險,并和上交所、中金所合作完成多項科研項目。曾在摩根士丹利華鑫基金、明汯投資負責量化投資研究工作,內容包括股票多因子、期貨CTA和高頻交易等。劉志偉,在中國銀聯(lián)云閃付事業(yè)部從事數(shù)據(jù)分析、數(shù)據(jù)挖掘等工作。對自然語言處理、文本分類、實體識別、關系抽取、傳統(tǒng)機器學習,以及大數(shù)據(jù)技術棧均有實踐經(jīng)驗。目前正在探索相關技術在金融場景內的落地應用,包括自動知識圖譜、大規(guī)模文本信息抽取結構化、異常識別等領域,關注人工智能行業(yè)前沿技術發(fā)展。本文摘編自《Python量化投資:技術、模型與策略》,本文摘編自《Python量化投資:技術、模型與策略》,經(jīng)出版方授權發(fā)布。
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請
點擊舉報。