kmodel: github.com/knodos/kmodel/becas Index | Files

package becas

import "github.com/knodos/kmodel/becas"

Index

Package Files

becas.go

Constants

const (
    // Rmax es la renta máxima por persona (elegimos una familia típica de 4
    // personas). Este es el umbral 2 de la tabla de becas. Por encima de este
    // umbral los estudiantes no reciben parte variable.
    Rmax float64 = 36421.0 / 4.0

    // Rmin es la renta mínima, un valor cercano al umbral de pobreza, lo minimo
    // necesario para vivir dignamente.
    Rmin float64 = 6000.0

    // Rmed es la renta media por persona. Usamos la estadística de 2011
    // http://www.ine.es/jaxi/tabla.do?type=pcaxis&path=/t25/p453/provi/l0/&file=01001.px
    Rmed float64 = 9326.0

    // Ce es el coste de los estudios. Se toma un valor fijo indicativo.
    Ce  float64 = 3600.0

    // C es la dotación presupuestaria para la parte variable de becas, por persona
    Cp  float64 = 2300.0

    // Nmed es la nota media de todos los estudiantes. Junto con la desviación
    // típica se usa para crear una distribución normal de notas.
    Nmed float64 = 6.0

    // Sd es la desviación típica de las notas de los estudiantes.
    Sd  float64 = 2.0

    // N es la cantidad de estudiantes que queremos modelar.
    N   int = 1000
)

func AlgoritmoDelPantano Uses

func AlgoritmoDelPantano(C float64, H []Estudiante)

AlgoritmoDelPantano reparte C entre H de forma que el coeficiente Gini sea mínimo.

func AlgoritmoEmpujar Uses

func AlgoritmoEmpujar(C float64, H []Estudiante)

func AlgoritmoOficial Uses

func AlgoritmoOficial(C float64, H []Estudiante) int

AlgoritmoOficial reparte C entre H según la fórmula oficial de las becas para el curso 2013-2014, con alguna simplificación: no tiene en cuenta las notas, y Rmax es fijo.

func AlgoritmoOficialConNotas Uses

func AlgoritmoOficialConNotas(C float64, H []Estudiante)

AlgoritmoOficialConNotas es una simulación de la realimentación que las notas pueden tener sobre la renta de los estudiantes.

Se asigna la beca en función de la renta y de las notas. Aquellos estudiantes con notas bajas pueden no recibir beca y no tener la oportunidad de seguir estudiando, con lo que se genera un circulo vicioso.

func Cobertura Uses

func Cobertura(H []Estudiante, lev float64) (float64, float64)

func Corr Uses

func Corr(H []Estudiante) (float64, error)

Corr devuelve el coeficiente de correlación Pearson entre becas y notas

func Datos Uses

func Datos(H []Estudiante) (float64, float64, float64)

Return Gini, Cobertura y Pearson

func Evolucion Uses

func Evolucion()

func EvolucionRenta Uses

func EvolucionRenta(H []Estudiante)

Nueva renta = renta anterior -10% con nota 0 +10% con 10, más un factor aleatorio de 10%

func Examen Uses

func Examen(H []Estudiante)

Nueva nota = nota anterior +/-2 random, +/- 1 renta Rmin + Ce es la referencia para la renta

func GiniRenta Uses

func GiniRenta(H []Estudiante) float64

func GiniTotal Uses

func GiniTotal(H []Estudiante) float64

func GraficoN Uses

func GraficoN(H []Estudiante, n int)

func GraficoRN Uses

func GraficoRN(H []Estudiante, n int)

func Main Uses

func Main()

func NotaMediaMejor Uses

func NotaMediaMejor(H []Estudiante, n int) float64

func Pobres Uses

func Pobres(H []Estudiante) int

func Print Uses

func Print(H []Estudiante)

func PuedenEstudiar Uses

func PuedenEstudiar(H []Estudiante) int

func Stats Uses

func Stats(H []Estudiante)

type Estudiante Uses

type Estudiante struct {
    // Renta es la renta personal del estudiante. Generamos un valor aleatorio
    // dentro de una distribución centrada en Rmed, con una dispersión que
    // acerque su coeficiente Gini al real (0.34 en 2011, para España).
    // La distribución de rentas es cercana a log-normal.
    Renta float64

    // Beca es obviamente la cantidad asignada por el algoritmo a este estudiante.
    Beca float64

    // Nota es la nota que sirve de parámetro en el algoritmo oficial
    Nota float64
}

Package becas imports 9 packages (graph) and is imported by 1 packages. Updated 2016-07-26. Refresh now. Tools for package owners.