Cordial saludo compañeros.
Totalmente de acuerdo con JM1, si quieres una respuesta correcta te tocará usar métodos numéricos o métodos estadísticos...,
Ahora bien, presiento que la respuesta que has obtenido puede ser la respuesta de tu conversor, es decir, depende del conversor que estás usando, no sé si será el ADC de un pic, si es así es muy probable que su comportamiento cercano a cero no sea muy bueno, en ese caso usaría un conversor externo. Es muy, pero muy probable que la respuesta que obtengas se vea mejorada si cambias de conversor, pues hay parámetros como el jitter y el INL (Error de no linealidad integral, que es la desviación del código generado de la línea recta ideal del conversor) que generan el tipo de respuesta que estás obteniendo, otra estrategia sería montar un offset como referencia de cero voltios a tu ADC para mejorar la respuesta a baja escala, ya que es curioso que el comportamiento sea lineal después y antes de 5, como si hubiera un error en la ganancia de la conversión justo en ese punto..... sería de analizar.
Si no es el conversor puedes usar el método de aproximación por mínimos cuadrados (el que se usaba en los laboratorios de física), aproximas los datos y sacas la ecuación de tu recta "ideal" con la cual convertiras tu datos. Espero te sirva.
Saludos.