Найти - Пользователи
Полная версия: Нужно найти коэфицент корреляции при котором функции будут максимально совпадать.
Начало » Python для новичков » Нужно найти коэфицент корреляции при котором функции будут максимально совпадать.
1
Godseffiana
У меня два массива данных. Мне нужно найти коэффициент корреляции, такой чтобы данные функции максимально совпадали, то есть измеренный график был максимально подобен модельному. Я использовала curve_fit, но не уверенна, что работает правильно. Мне выдало крохотный коэффициент и два совершенно разных графика. Если умножить искусственно, то они подобны.

 dis = np.loadtxt('mean_ones.txt')
k = 0
x_dis = []
y_dis = []
x_dis_cut = []
y_dis_cut = []
for i in range(len(dis)):
    x_dis.append(dis[i][0])
    y_dis.append(dis[i][1])
    
for k in range(len(dis)):
    if x_dis[k] >= 3980 and x_dis[k] <= 4080:
        x_dis_cut.append(x_dis[k])
        y_dis_cut.append(y_dis[k])
model = np.loadtxt('pfsolspec_hr.cnv')
x_model = []
y_model = []
for i in range(len(model)):
    x_model.append(model[i][0])
    y_model.append(model[i][1])
interpol = interp1d(x_dis_cut, y_dis_cut, kind = "cubic")
plt.plot(x_dis_cut, 3010 * interpol(x_dis_cut), x_model, y_model)
def fittable(interpol, A):
    return A * interpol
param, param_1 = curve_fit(fittable, x_model, y_model)
plt.plot(x_dis_cut, param * interpol(x_dis_cut), x_model, y_model)
param
doza_and
Godseffiana
Мне нужно найти коэффициент корреляции, такой чтобы данные функции максимально совпадали
Если функции даны, то степень их совпадения никак не может измениться.

Godseffiana
Я использовала curve_fit, но не уверенна, что работает правильно.

Вам нужно выяснить какие способы преобразования допустимы. ffit - умножение на число, а вам скорее всего нужны еще сдвиги.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB