Die Methode dient zur Berechnung des Gini-Maßes, welches zur Bestimmung von Ungleichverteilungen verwendet wird.
Als Übergabeparameter schleust man einfach einen Array mit double-Werten ein und bekommt in Folge eine Zahl zwischen 0 und 1, wobei angenommen wird:
0-0.33 schwache Konzentration
0.33-0.66 mittlere Konzentration
0.66-1 starke Konzentration
Beispiel
Gini gini = new Gini();
gini.Einzeldaten(new double[] { 30059.346, 2.357079, 170.06502, 36958.47, 876.0965 }));
// Ergebnis
// 0.762502545741056
GFU-Schulungen [Anzeige]
JavaScript für .NET-EntwicklerSie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript
in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.
VB.NET EinführungDie Schulung zeigt Ihnen, wie Sie einfache, benutzerorientierte Programme, die auf Datenbanken zugreifen, in VB.NET eigenständig entwickeln.
using System;
using System.Linq;
namespace Project
{
class Gini
{
public double Einzeldaten(double[] values)
{
Array.Sort(values);
double sum = values.Sum();
int cnt = values.Length;
if (cnt == 1)
return 1;
double[] g = new double[cnt];
double[] G = new double[cnt];
double f = 1 / cnt;
double valuesWithoutLastTriangle = 0.0;
for (int i = 0; i < cnt; i++)
{
g[i] = values[i] / sum;
if (i == 0)
G[i] = g[i];
else
G[i] = G[i - 1] + g[i];
if (i < (cnt - 1))
valuesWithoutLastTriangle += G[i];
}
return (1.0 - (2 * valuesWithoutLastTriangle / (cnt - 1)));
}
}
}
Kommentare zum Snippet