Как использовать функцию Curve_fit внутри цикла for для создания нескольких регрессий за один раз в Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать функцию Curve_fit внутри цикла for для создания нескольких регрессий за один раз в Python?

Сообщение Anonymous »

Короче говоря, у меня есть две матрицы: одна называется t, а другая — y. В каждом из них по 7 столбцов. Допустим, они называются a, b, c, d, e, f и g. Мне хотелось бы получить регрессию от a к a, b к b, ..., g к g для этих двух матриц.

Мне уже удалось это сделать заставить мой алгоритм выполнить регрессию, используя Curve_fit для одного столбца за раз. Но мне бы очень хотелось, чтобы он сделал 7 регрессий за один раз. Думаю, мне следует использовать цикл for, но я не уверен, как это сделать.

В конце концов, я хотел бы сохранить значения k в одном массиве и построить график этого массива. чтобы увидеть тенденцию. К сожалению, я все еще застрял в той части, где мне приходится создавать несколько регрессий одновременно.

Я думаю, что моя проблема чем-то похожа на эту. Выполнение многих итераций `curve_fit` scipy за один раз, но мне не удалось применить его к моему случаю.

import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
import pandas as pd

file = ('y.xls')
xl = pd.ExcelFile(file)
t = xl.parse('t')
y = xl.parse('y')

y=y.dropna()
t=t.dropna()

def func(x, A, k, C):
return A * np.exp(-k * x) + C

for i in np.arange(0,6):
plt.figure()
plt.plot(t.iloc[:,], y.iloc[:,])

popt, pcov = curve_fit(func, t.iloc[:,], y.iloc[:,], p0=([0,1,0]))
plt.plot(t, func(t, *popt), 'r-',
label='fit: A=%5.2f, k=%5.4f, C=%5.2f' % tuple(popt))

print(popt)

plt.xlabel('t (h)')
plt.ylabel('y')
plt.legend()
plt.show()


Подробнее здесь: https://stackoverflow.com/questions/495 ... ressions-i
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»