DavidSB commited on
Commit
b8f13ea
·
verified ·
1 Parent(s): 8c5ff40

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -22
app.py CHANGED
@@ -16,11 +16,11 @@ def aplicar_operacao(df, scv, col_index):
16
  if scv == 'x':
17
  pass
18
  elif scv == 'lnx':
19
- df.iloc[:, col_index] = round(np.log(df.iloc[:, col_index]), 5)
20
  elif scv == '1/x':
21
- df.iloc[:, col_index] = round(1 / df.iloc[:, col_index], 5)
22
  elif scv == 'x²':
23
- df.iloc[:, col_index] = round(df.iloc[:, col_index] ** 2, 5)
24
 
25
  # função para plotagem dos gráficos de dispersão:
26
  def criar_grafico_dispersao(df, x_column, y_column, hover_name, trendline_color):
@@ -130,27 +130,27 @@ def avaliacao_imovel(planilha, v_1, v_2, v_3, v_4, v_5, v_6, v_7, scv_d, scv_1,
130
  residuos = resultado.resid
131
 
132
  # Calculando Desvio Padrão dos Resíduos
133
- #desvio_padrao_residuos = round(np.std(resultado.resid), 4)
134
- desvio_padrao_residuos = round(np.std(residuos), 5)
135
  # Calculando Estatística F
136
- estatistica_F = round(resultado.fvalue, 5)
137
  # Obtendo Nível de Significância do Modelo
138
- nivel_significancia = round(resultado.f_pvalue, 5)
139
  # Calculando R²
140
- r_squared = round(resultado.rsquared, 5)
141
  # Calculando R² ajustado
142
- r_squared_adjusted = round(resultado.rsquared_adj, 5)
143
  # Obtendo Número de Observações
144
  num_observacoes = round(resultado.nobs, 0)
145
  # Calculando Coeficiente de Correlação
146
- coef_correlacao = round(np.sqrt(r_squared), 5)
147
  # Calculando o teste de Jarque-Bera para os resíduos
148
  jarque_bera_test, p_value, skewness, kurtosis = jarque_bera(residuos)
149
  # Formatando os resultados com 4 casas decimais
150
- jarque_bera_test = round(jarque_bera_test, 5)
151
- p_value = round(p_value, 5)
152
- skewness = round(skewness, 5)
153
- kurtosis = round(kurtosis, 5)
154
  # Extrair os coeficientes da regressão
155
  coeficientes = resultado.params
156
  # Calcular a distância de Cook
@@ -215,24 +215,24 @@ def avaliacao_imovel(planilha, v_1, v_2, v_3, v_4, v_5, v_6, v_7, scv_d, scv_1,
215
  # Obtendo os valores previstos
216
  valores_previstos = resultado.predict(X)
217
  # Adicionando os valores previstos como uma nova coluna ao df_final
218
- df_final['Valores Ajustados'] = round(valores_previstos, 5)
219
  # Criando uma dataframe para os Valores Ajustados x Preços Observados
220
  df_correl = df_final[[df_filtrado.columns[0], df_filtrado.columns[1], 'Valores Ajustados']]
221
  df_correl = df_correl.rename(columns={df_filtrado.columns[1]: 'Preços Observados'})
222
  # Desfazendo a conversão da escala
223
  if scv_d == 'lnx':
224
- df_correl['Valores Ajustados'] = round(np.exp(df_correl['Valores Ajustados']), 5)
225
- df_correl['Preços Observados'] = round(np.exp(df_correl['Preços Observados']), 5)
226
  elif scv_d == '1/x':
227
- df_correl['Valores Ajustados'] = round(1 / df_correl['Valores Ajustados'], 5)
228
- df_correl['Preços Observados'] = round(1 / df_correl['Preços Observados'], 5)
229
  elif scv_d == 'x²':
230
- df_correl['Valores Ajustados'] = round(np.sqrt(df_correl['Valores Ajustados']), 5)
231
- df_correl['Preços Observados'] = round(np.sqrt(df_correl['Preços Observados']), 5)
232
  else:
233
  pass # Nenhuma transformação é necessária
234
 
235
- df_correl['Diferença %'] = round(((df_correl['Valores Ajustados']/df_correl['Preços Observados'])-1)*100, 5)
236
 
237
  #------------Gráficos dos Valores Ajustados x Resíduos Padronizados e Histograma---------------#
238
 
 
16
  if scv == 'x':
17
  pass
18
  elif scv == 'lnx':
19
+ df.iloc[:, col_index] = round(np.log(df.iloc[:, col_index]), 8)
20
  elif scv == '1/x':
21
+ df.iloc[:, col_index] = round(1 / df.iloc[:, col_index], 8)
22
  elif scv == 'x²':
23
+ df.iloc[:, col_index] = round(df.iloc[:, col_index] ** 2, 8)
24
 
25
  # função para plotagem dos gráficos de dispersão:
26
  def criar_grafico_dispersao(df, x_column, y_column, hover_name, trendline_color):
 
130
  residuos = resultado.resid
131
 
132
  # Calculando Desvio Padrão dos Resíduos
133
+ #desvio_padrao_residuos = round(np.std(resultado.resid), 8)
134
+ desvio_padrao_residuos = round(np.std(residuos), 8)
135
  # Calculando Estatística F
136
+ estatistica_F = round(resultado.fvalue, 8)
137
  # Obtendo Nível de Significância do Modelo
138
+ nivel_significancia = round(resultado.f_pvalue, 8)
139
  # Calculando R²
140
+ r_squared = round(resultado.rsquared, 8)
141
  # Calculando R² ajustado
142
+ r_squared_adjusted = round(resultado.rsquared_adj, 8)
143
  # Obtendo Número de Observações
144
  num_observacoes = round(resultado.nobs, 0)
145
  # Calculando Coeficiente de Correlação
146
+ coef_correlacao = round(np.sqrt(r_squared), 8)
147
  # Calculando o teste de Jarque-Bera para os resíduos
148
  jarque_bera_test, p_value, skewness, kurtosis = jarque_bera(residuos)
149
  # Formatando os resultados com 4 casas decimais
150
+ jarque_bera_test = round(jarque_bera_test, 8)
151
+ p_value = round(p_value, 8)
152
+ skewness = round(skewness, 8)
153
+ kurtosis = round(kurtosis, 8)
154
  # Extrair os coeficientes da regressão
155
  coeficientes = resultado.params
156
  # Calcular a distância de Cook
 
215
  # Obtendo os valores previstos
216
  valores_previstos = resultado.predict(X)
217
  # Adicionando os valores previstos como uma nova coluna ao df_final
218
+ df_final['Valores Ajustados'] = round(valores_previstos, 8)
219
  # Criando uma dataframe para os Valores Ajustados x Preços Observados
220
  df_correl = df_final[[df_filtrado.columns[0], df_filtrado.columns[1], 'Valores Ajustados']]
221
  df_correl = df_correl.rename(columns={df_filtrado.columns[1]: 'Preços Observados'})
222
  # Desfazendo a conversão da escala
223
  if scv_d == 'lnx':
224
+ df_correl['Valores Ajustados'] = round(np.exp(df_correl['Valores Ajustados']), 8)
225
+ df_correl['Preços Observados'] = round(np.exp(df_correl['Preços Observados']), 8)
226
  elif scv_d == '1/x':
227
+ df_correl['Valores Ajustados'] = round(1 / df_correl['Valores Ajustados'], 8)
228
+ df_correl['Preços Observados'] = round(1 / df_correl['Preços Observados'], 8)
229
  elif scv_d == 'x²':
230
+ df_correl['Valores Ajustados'] = round(np.sqrt(df_correl['Valores Ajustados']), 8)
231
+ df_correl['Preços Observados'] = round(np.sqrt(df_correl['Preços Observados']), 8)
232
  else:
233
  pass # Nenhuma transformação é necessária
234
 
235
+ df_correl['Diferença %'] = round(((df_correl['Valores Ajustados']/df_correl['Preços Observados'])-1)*100, 8)
236
 
237
  #------------Gráficos dos Valores Ajustados x Resíduos Padronizados e Histograma---------------#
238