2016-11-25 10 views
0

xとyの2つの確率変数の和のpdfは、個々のpdfsの畳み込みによって与えられます。次のコードでは、各ファイルから1列のデータを読み込み、ヒストグラムを表示します。 pdf1とpdf2の畳み込みをどのように計算できますか?2つのpdvの畳込み

import pandas as pd 

import matplotlib.pyplot as plt 

data1 = pd.read_csv('file1.txt', header=None) 

data2 = pd.read_csv('file2.txt', header=None) 

nbins = int(data1.max()-data1.min()) 

pdf1 = plt.hist(data1, bins=nbins, normed=True) 


nbins = int(data2.max()-data2.min()) 

pdf2 = plt.hist(data2, bins=nbins, normed=True) 

plt.show() 

答えて

1

実際にはscipy.signal.convolveを使用して2つのシリーズ間の畳み込みを計算できます。文書hereを見てください。

from scipy.signal import convolve 

# Define your arrays of data 
pdf_1 = plt.hist(data1, bins=nbins, normed=True) 
pdf_2 = plt.hist(data2, bins=nbins, normed=True) 

# Convolve the two arrays 
pdf_1_2 = convolve(pdf_1, pdf_2, mode="valid") 

NB:あなたは畳み込みを計算するために他のモードへのアクセス権を持っているし、次のように

を行います。 validモードは、ゼロパディングでは使用できません。

+0

ありがとうございます。あなたが言及したように、convolve()は配列に対して機能しますが、pdf_1とpdf_2はタプルです。 convolve(pdf_1 [0]、pdf_2 [0])は動作しますが、ヒストグラム全体ではなく、y軸の値しか与えません。 – kiasari

関連する問題