-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Calibrando numero aproximoado #36
Milestone
Comments
Essa aqui foi a sugestão do @antrologos, de implementar uma interpolacao linear. Agora eu preciso ajustar o codigo para nosso caso, e testar se isso afeta muito a performance de tmepo de processamento.
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
contexto
Quando o numero do endereço de input não está presente na base de busca (cnefe), nós fazemos uma aproximação. Atualmente, essa aproximação é feita como um média das coordenadas do cnefe poderada pela diferença entre o numero de input e os numeros presentes no cnefe. Os resultados são razoáveis.
problema
No entanto, seria importante dar um peso maior para diferenças pequenas. Por exemplo, se o numero de input é
5
e o cnefe tem um numero8
, as coordenadas do ponto8
deveriam ter um peso maior do que do ponto com número100
, por exemplo. Atualmente, o peso de diferenças grandes é descontado, mas apenas de maneira linear. Seria bom colocar um expoente de decaimento para dar ainda mais peso para numeros proximos.solucao
O codigo do pacote desta operação é todo em {duckdb} e SQL. Mas para ilustrar a problema, apresento abaixo o codigo em R mesmo. O calculo atual é feito dessta maneira.
Minha sugestão é elevar o a difença ao cubo. Assim:
reprex
Aqui um reprex que gera um exemplo dentro da funçao
check_approx()
. A função recebe umnumero_input
e um expoenteexpp
. Quandoexpp = 1
, o resultado da função é exatamente o comportamento do geocodebr hoje em dia.Os exemplos acima mostram duas coisas.
expp = 3
,expp
praticamente nao afeta o resultado.The text was updated successfully, but these errors were encountered: