Следующая в последней строке кода в моем примере вычисляет ошибки, это «absError = zData - EquationFunc ((xData, yData), * popt)»

рвых, я не знаком с Python и до сих пор плохо понимаю механизм кода Python. Но мне нужно сделать некоторый статистический анализ через Python.

Я перепробовал много разных способов, но мне это не удалось.

В основном у меня есть 3 массива данных (предположим, что эти массивыX, Y, Z).Я сделал некоторый анализ с (X, Y) а также (Z, Y), составив точечный график и поместив наилучшее соответствие с данными, чтобы увидеть корреляцию.№1 и №2 достаточно просты.Теперь мне нужно увидеть край на виде на графике, который является объединеннымX а такжеZ, Итак, я сделал уравнение (см. Ниже).
import pylab as pl
import numpy as np
from pylab import *
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt


s = np.loadtxt('New_list3.txt')
s = s.T

x = s[1]
y = s[2]
z = s[4]

upper_error = s[5]
lower_error = s[6]
asymmetric_error = [lower_error, upper_error]

def func(X, a1, a2, a3):
    x1, y1 = X

    return a1 * x1 + a2 * y1 + a3

popt, pcov = curve_fit(func,(x,y),z)
new_x=func((x,y),popt[0],popt[1],0)
new_y=z
new_z = np.polyfit(new_x,new_y,1)

p = np.poly1d(new_z)

plt.plot(func((x, y), popt[0], popt[1], 0), z, '.k')
pl.plot(new_x, p(new_x), "r-")
plt.errorbar(new_x, z ,yerr=asymmetric_error, ecolor='b', capsize=3, marker ='o', fmt='none')

print popt    
plt.show()

Теперь я не могу понять, чтобы найти ошибки из этого уравнения, котороеy = a1 * x + a2 * z + a3, Я нашел лучшие значенияa1, a2, a3, Однако не ошибки.

Как я могу найти «ошибки»a1, a2, a3?

Ответы на вопрос(1)

Ваш ответ на вопрос