Pages: 1
- Sujet précédent - Arcgis 10 - Python - Implémenter le calcul de l'indice de Gini - Sujet suivant
#1 Mon 23 November 2015 11:53
- seblegeographe
- Juste Inscrit !
- Date d'inscription: 22 Apr 2013
- Messages: 8
Arcgis 10 - Python - Implémenter le calcul de l'indice de Gini
Hello la communauté
Je vous contacte car je dispose d'un script python déjà bien avancé qui vise à calculer l'indice de gini en fonction de rayons géographiques. Il ne me reste plus qu'à implémenter l'indice de gini, et là j'y arrive pô
Concrètement, l'objet de mon étude vise à calculer l'indice de gini non pas entre toutes les unités géographiques d'un Etat mais en fonction d'une sélection de régions voisines d'un Etat. Pour la partie "sélection des entités" et tout et tout c'est ok, mais pas pour l'indice de gini
Si l'un d'entre vous pouvait m'aider, vous seriez mon sauveur
D'avance merci
Hors ligne
#2 Mon 23 November 2015 14:03
Re: Arcgis 10 - Python - Implémenter le calcul de l'indice de Gini
Bonjour,
Pour être encore plus concret, pourriez-vous nous détailler les données s'entrée/sortie, la formule de calcul à élaborer ou encore les points spécifiques où vous bloquez dans votre code?
Martin
Dernière modification par nitram (Mon 23 November 2015 14:04)
Hors ligne
#3 Mon 23 November 2015 15:00
- seblegeographe
- Juste Inscrit !
- Date d'inscription: 22 Apr 2013
- Messages: 8
Re: Arcgis 10 - Python - Implémenter le calcul de l'indice de Gini
Bonjour
Tout d'abord, merci de votre réponse.
Je souhaiterais calculer de manière automatique la formule de l'indice de Gini pour toutes les régions de l'Union européenne mais au niveau local :
Il s'agirait de créer un périmètre (en km - modifiable : 100km , 200km, 300km, etc) autour d'une région X et de calculer l'indice de gini entre les régions comprises dans ce périmètre (voir image en PJ)
En données d'entrée on aurait le PIB/hab de chaque région de l'Union européenne
En données de sortie (dans une nouvelle colonne créée), on aurait l'indice de gini calculé :
exemple :
colonne 1 : identifiant colonne 2 : PIB colonne 3 : indice de gini local
Basse-Normandie 23 000 0,54
Haute-Normandie 29 000 0,48
Ile-de-France 65 000 0,85
.... .....
POUR LE MOMENT : le script de sélection des entités voisines d'une région X est développé :
Le script va me calculer un périmètre autour de la région X (exemple : va me chercher les régions situées à moins de 300 km de la région X) et va me sélectionner toutes les régions comprises dans ce périmètre.
Il ne me reste qu'à implémenter le calcul de l'indice de gini sur la sélection des régions dans le périmètre de la région X
j'ai trouvé quelques scripts en python qui permettent de calculer l'indice de gini ==> par exemple : http://dilumb.blogspot.fr/2012/07/pytho … -gini.html
On aurait donc
1 : en entrée : un fichier shape avec une table attributaire reprenant en lignes toutes les régions de l'Union européenne et en colonnes le PIB des régions européennes
2 : en sortie : la création dans la table attributaire du fichier shape d'une colonne supplémentaire avec le résultat des calculs de l'indice de gini pour chaque région.
J'ai déjà un script qui me permet de calculer ce que l'on appelle en économie la convergence économique locale. Ce script se base exactement sur la méthode que je veux utiliser. Une des mesures possible de mesurer la convergence économique est d'utiliser ce fameux indice de gini
je peux vous envoyer ce script pour que vous puissiez en avoir un aperçu si vous le souhaitez
Merci de votre aide
Dernière modification par seblegeographe (Mon 23 November 2015 15:02)
Hors ligne
#4 Mon 04 January 2016 18:24
- seblegeographe
- Juste Inscrit !
- Date d'inscription: 22 Apr 2013
- Messages: 8
Re: Arcgis 10 - Python - Implémenter le calcul de l'indice de Gini
Hello
petit up
si vous avez un peu de temps pour regarder, je suis preneur car actuellement toujours coincé à ce sujet
Bien à vous
Hors ligne
#5 Tue 05 January 2016 13:51
- Nicolas Granier
- Participant assidu
- Date d'inscription: 19 Apr 2007
- Messages: 271
Re: Arcgis 10 - Python - Implémenter le calcul de l'indice de Gini
Bonjour,
Alors j'ai jeté un petit coup d'oeil.
Si je comprends bien :
Vous avez fait un script qui permet de sélectionner plusieurs régions.
Vous récupérez donc plusieurs valeurs de PIB (1 valeur pour chaque région)
L'indice que vous souhaitez calculer prend comme données de départ plusieurs valeurs de PIB uniquement ? Est-ce bien cela ?
Dans le tableau d'exemple que vous citez dans votre précédent post, la colonne rajoutée pour l'indice n'est pas propre uniquement à la région mais aux régions intersectées par le périmètre de 100, 200 ou 300Km ?
Le script que vous avez trouvé fonctionne. Il est relativement bien fait (sur la structure - pour la formule de calcul je n'ai jamais calculé un indice de Gini). Attention toutefois il s'accompagne d'une licence, prenez le temps de la lire.
Le script fait appel à une interface graphique et si on n'a pas les bonnes librairies sur son poste et bien cela ne marche pas.
Mais comme il est bien fait on peut se passer de l'interface graphique. il faut commenter la ligne 23 (l'import de l'interface) et commenter les lignes 74 à 77 qui lance l'interface.
Le fonctionnement du script est à partir de là est très simple.
Vous avez une fonction qui s'appelle def GRLC(values):
Vous lui passez en paramètre (à la place de value) une liste de valeur et en retour vous obtenez une liste de 4 résultats :
- l'index de Gini
- le coefficient de Gini (celui qui semble vous intéresser)
- le Robin Hood index
- et les points de Lorenz
par exemple si vos différents PIB sont 12,58,64,78
Dans le code vous allez avoir ceci
Code:
listePIB = [12,58,64,78] indiceGini = GRLC(listePIB)[1]
il ne reste plus qu'a intégrer cette fonction à votre code.
Je vous mets en PJ une capture d'écran du calcul de l'indice avec les valeurs 12,58,64,78 pour que vous vérifier si le calcul vous semble bon
A+
Nicolas GRANIER
Dernière modification par Nicolas Granier (Wed 06 January 2016 11:03)
Hors ligne
Pages: 1
- Sujet précédent - Arcgis 10 - Python - Implémenter le calcul de l'indice de Gini - Sujet suivant