##  Regressão, plots e estatísticas para 443 nm
kd_ref_443 = qaa_v6_fit19_560['Kd_ZEU'].loc[443]                    ##  Dado de referência (y_true)
kd_pred_443 = qaa_v6_fit19_560['kd_qaa_560_acs_492'].loc[443]       ##  Dados simulados (y_pred)

##  Ajuste da curva de regressão linear para 443 nm.
fit_443 = curve_fit(fun_reg, kd_ref_443, kd_pred_443, pred_ab, method = 'lm', maxfev = 100000)[0]

##  Calculo do coeficiente de determinação R²
res_443 = kd_pred_443 - fun_reg(kd_ref_443, fit_443[0], fit_443[1])
ss_res_443 = np.sum(res_443 ** 2)
ss_tot_443 = np.sum((kd_pred_443 - np.mean(kd_pred_443)) ** 2)
r2_443 = 1 - (ss_res_443 / ss_tot_443)

##  Calculo das estatísticas MAE e MAPE
mae_443 = mae(kd_ref_443, kd_pred_443)
mape_443 = mean_abs_perc_error(kd_ref_443, kd_pred_443)

## Calculo das estatisticas MSE e RMSE
mse_443 = mse(kd_ref_443, kd_pred_443)
rmse_443 = np.sqrt(mse_443)

## Regressão linear usando pacote do scipy para teste
sl_443, inter_443, r_443, p_443, stderr_443 = lr(kd_ref_443, kd_pred_443)

##  Curva de melhor ajuste para plotagem
ref_443 = fun_reg(x_fit, fit_443[0], fit_443[1])
ref_443 = ref_443.rename(x_fit, axis = 'rows')

##  Texto para plotagem com dados dos resultados estatísticos e da regressão
eq_443 = 'y = 0,7175x + 0,6611'
stat_443 = 'R² = 0,1784, MAPE = 50,00%; RMSE = 0,4542; n = 20'
Example #2
0
fit_443 = curve_fit(fun_reg,
                    kd_ref_443,
                    kd_pred_443,
                    pred_ab,
                    method='lm',
                    maxfev=100000)[0]

##  Calculo do coeficiente de determinação R²
res_443 = kd_pred_443 - fun_reg(kd_ref_443, fit_443[0], fit_443[1])
ss_res_443 = np.sum(res_443**2)
ss_tot_443 = np.sum((kd_pred_443 - np.mean(kd_pred_443))**2)
r2_443 = 1 - (ss_res_443 / ss_tot_443)

##  Calculo das estatísticas MAE e MAPE
mae_443 = mae(kd_ref_443, kd_pred_443)
mape_443 = mean_abs_perc_error(kd_ref_443, kd_pred_443)

## Calculo das estatisticas MSE e RMSE
mse_443 = mse(kd_ref_443, kd_pred_443)
rmse_443 = np.sqrt(mse_443)

## Regressão linear usando pacote do scipy para teste
sl_443, inter_443, r_443, p_443, stderr_443 = lr(kd_ref_443, kd_pred_443)

##  Curva de melhor ajuste para plotagem
ref_443 = fun_reg(x_fit, fit_443[0], fit_443[1])
ref_443 = ref_443.rename(x_fit, axis='rows')

##  Texto para plotagem com dados dos resultados estatísticos e da regressão
eq_443 = 'y = 0,8440x + 0,1830'
stat_443 = 'R² = 0,4313, MAPE = 12,26%; RMSE = 0,1213 m^-1; n = 20'
                             kd_pred_443_original,
                             pred_ab,
                             method='lm',
                             maxfev=100000)[0]

##  Calculo do coeficiente de determinação R²
res_443_original = kd_pred_443_original - fun_reg(
    kd_ref_443_original, fit_443_original[0], fit_443_original[1])
ss_res_443_original = np.sum(res_443_original**2)
ss_tot_443_original = np.sum(
    (kd_pred_443_original - np.mean(kd_pred_443_original))**2)
r2_443_original = 1 - (ss_res_443_original / ss_tot_443_original)

##  Calculo das estatísticas MAE e MAPE
mae_443_original = mae(kd_ref_443_original, kd_pred_443_original)
mape_443_original = mean_abs_perc_error(kd_ref_443_original,
                                        kd_pred_443_original)

## Calculo das estatisticas MSE e RMSE
mse_443_original = mse(kd_ref_443_original, kd_pred_443_original)
rmse_443_original = np.sqrt(mse_443_original)

## Regressão linear usando pacote do scipy para teste
sl_443_original, inter_443_original, r_443_original, p_443_original, stderr_443_original = lr(
    kd_ref_443_original, kd_pred_443_original)

##  Curva de melhor ajuste para plotagem
ref_443_original = fun_reg(x_fit, fit_443_original[0], fit_443_original[1])
ref_443_original = ref_443_original.rename(x_fit, axis='rows')

##  Texto para plotagem com dados dos resultados estatísticos e da regressão
eq_443_original = '443 nm = 0.16x - 0.04'