Файл:Gaussianprocess posteriorMeanNoise.svg

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Повна роздільність(SVG-файл, номінально 360 × 180 пікселів, розмір файлу: 27 КБ)

Wikimedia Commons logo Відомості про цей файл містяться на Вікісховищі — централізованому сховищі вільних файлів мультимедіа для використання у проектах Фонду Вікімедіа.

Опис файлу

Опис
English: Posterior gaussian process with input noise visualized with posterior mean and confidence interval
Час створення
Джерело Власна робота
Автор Physikinger
SVG розвиток
InfoField
 
Вихідний код цього SVG-файлу правильний.
 
Це векторне зображення було створено з допомогою Matplotlib
Сирцевий код
InfoField

Python code

#This source code is public domain 
#Author: Christian Schirm
import numpy, scipy.spatial
import matplotlib.pyplot as plt
def covMat(x1, x2, covFunc, noise=0):  # Covariance matrix
    cov = covFunc(scipy.spatial.distance_matrix(numpy.atleast_2d(x1).T, numpy.atleast_2d(x2).T))
    if noise: cov += numpy.diag(numpy.ones(len(cov))*noise)
    return cov

def interpol(x_known, y_known, x_unknown, covFunc, noise=0, sigmaPrior=1):
    Ckk = covMat(x_known, x_known, covFunc)
    Cuk = covMat(x_unknown, x_known, covFunc, noise=0)
    y_unknown = numpy.dot(Cuk, numpy.dot(numpy.linalg.inv(Ckk), y_known)) 
    CkkInv = numpy.linalg.inv(Ckk)
    sigma_unknown = numpy.sqrt(sigmaPrior * sigmaPrior - numpy.diag(numpy.dot(Cuk, numpy.dot(CkkInv, Cuk.T))))
    return y_unknown, sigma_unknown
    
covFunc = lambda d: numpy.exp(-(d**1.9/8.)) # Covariance function

x_known = numpy.array([2,3,7])
y_known = numpy.array([-1,0,1])
x_unknown = numpy.linspace(0, 10, 300)
y_unknown, sigma_unknown = interpol(x_known, y_known, x_unknown, covFunc)    

Ckk = covMat(x_known, x_known, covFunc, noise=0.1)
Cuu = covMat(x_unknown, x_unknown, covFunc, noise=0.00)
CkkInv = numpy.linalg.inv(Ckk)
Cuk = covMat(x_unknown, x_known, covFunc, noise=0.0)
m = 0 #numpy.mean(y)
covPost = Cuu - numpy.dot(numpy.dot(Cuk,CkkInv),Cuk.T)
y_unknown = numpy.dot(numpy.dot(Cuk,CkkInv),y_known)

fig = plt.figure(figsize=(4.0,2))
plt.plot(x_unknown, y_unknown,  label=u'Prediction')
sigma = numpy.sqrt(numpy.diag(covPost))
plt.plot(x_known, y_known,'ko')
plt.fill_between(x_unknown.ravel(), y_unknown - sigma, y_unknown + sigma, color = '0.85')
plt.axis([0,10,-3,3])
plt.savefig('Gaussianprocess_posteriorMeanNoise.svg')

Ліцензування

Я, власник авторських прав на цей твір, добровільно публікую його на умовах такої ліцензії:
Creative Commons CC-Zero Цей файл доступний на умовах Creative Commons CC0 1.0 Universal Public Domain Dedication.
Особа, що пов'язала роботу з даною дією, передала роботу у суспільне надбання шляхом відмови від усіх своїх прав на роботу по всьому світу по закону про авторське право, включаючи всі пов'язані і суміжні права, в тій мірі, що допускається законом.

Ви можете копіювати, змінювати, розповсюджувати і виконувати роботу, навіть на комерційній основі, не питаючи дозволу.

Підписи

Додайте однорядкове пояснення, що саме репрезентує цей файл

Об'єкти, показані на цьому файлі

зображує

Історія файлу

Клацніть на дату/час, щоб переглянути, як тоді виглядав файл.

Дата/часМініатюраРозмір об'єктаКористувачКоментар
поточний21:56, 21 серпня 2017Мініатюра для версії від 21:56, 21 серпня 2017360 × 180 (27 КБ)PhysikingerUser created page with UploadWizard

Така сторінка використовує цей файл:

Глобальне використання файлу

Цей файл використовують такі інші вікі:

Метадані