• Nenhum resultado encontrado

Estatística Aplicada a GRH com Python

N/A
N/A
Protected

Academic year: 2021

Share "Estatística Aplicada a GRH com Python"

Copied!
26
0
0

Texto

(1)

Estatística Aplicada a GRH

com Python: Noções

Fundamentais e Implementação

Carlos Pedro Gonçalves

(2)

Sumário Alargado

• Noções fundamentais em Python.

• Bases de dados tradicionais vs objectos.

• Programação Orientada a Objectos (POO) e análise inteligente dos dados (intelligent data analysis):

• Programação das ferramentas estatísticas adaptadas às necessidades de GRH;

• Diferente do SPSS e Excel: permite o desenvolvimento de “fatos à medida”.

(3)

Python

• A linguagem Python foi desenvolvida na década de 1980 pelo programador holandês Guido van Rossum, fã dos Monty Python (de onde resulta o nome da linguagem).

• A linguagem Python constitui um exemplo da tendência transformadora ao nível das competências a saber:

(4)

Tendência

• A tendência de dispersão de competências em programação integra um dos pontos centrais das transformações tecnológicas em curso, pessoas com diferentes formações de base poderão aprender a programar, o que implica que, crescentemente, os próprios utilizadores tenderão a ter acesso à capacidade de um

design de software orientado para as suas necessidades, trata-se de Do-it-Yourself

(DIY) Computer Programming que se insere no movimento mais geral de open source e DIY conducente a uma transformação antecipável no poder tecnológico.

• Ex: Europa – lacuna nas competências de programação

• Iniciativas de introdução curricular da programação no ensino pré-universitário, aprendizagem de competências de programação a adultos (em particular visando a p0pulação desempregada).

Caso da Academia de Código em conjunto com a StartUp Lisboa e a Câmara Municipal de Lisboa: projecto-piloto envolvendo alunos do terceiro e quarto anos (Academia de Código Júnior). Ensinar adultos desempregados a programar (http://startuplisboa.com/portfolio_page/academia-de-codigo/).

(5)

Tendência

• A prazo, saber programar fará parte do leque de competências da população e uma parte integrande dos curricula, iniciando-se no ensino primário (ver Scratch (https://scratch.mit.edu/)).

• Desenvolvimento de linguagens de programação passíveis de aprendizagem rápida e com elevada capacidade de resposta em termos de programação.

(6)

Python

No contexto da gestão, a DIY Computer Programming permite identificar a expansão próxima das competências de programação do gestor confluentes com a transformação na gestão decorrentes da integração crescente da tecnologia na actividade do gestor.

• O Python insere-se nesta linha transformadora no sentido em que o seu autor visou o desenvolvimento de:

• Uma linguagem fácil e intuitiva tão poderosa quanto as alternativas (nomeadamente o C++ e Java);

• De fonte aberta, tal que qualquer um possa contribuir para o seu desenvolvimento;

• Mais próximo do discurso natural;

• Passível de suportar um tempo de desenvolvimento de programas mais curtos, favorecendo a componente criativa e aplicada da programação.

(7)

Python

• A linguagem Python foi adoptada pelo MIT no curso de Engenharia Eléctrica e Ciência da Computação ( http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/), no ensino da programação e da Inteligência Artificial (embora as linguagens C++ e Java também sejam ensinadas).

• A linguagem tem também sido utilizado pela Google e pela NASA, assim como por um conjunto de empresas, conforme ilustrado no website:

• https://www.python.org/about/success/#business

• Outras linguagem recente com dispersão ao nível de PMEs: Ruby (https://www.ruby-lang.org/pt/)

• A linguagem Ruby tem a vantagem de ser fácil de aprender, e tem recursos online em português: https://www.ruby-lang.org/pt/documentation/quickstart/

(8)

Tipos e Estruturas de Dados em Python

• Tipos numéricos: int, float

• Tipo booleano: True, False

• Tipo None • Tipos de colecções: • Strings • Lists • Tuples • Sets • Bytes e ByteArrays • Dicionários

(9)

Estruturas de Controlo em Python

• Sequências (leitura sequencial do código)

• Selecção (se-então)

(10)

Objectos: Atributos e Métodos

• Um objecto corresponde a uma entidade de software, algo semelhante a um agente artificial que possui atributos e procedimentos que podem (ou não) envolver os valores dos atributos e que realizam determinadas tarefas computacionais.

• Dependendo do tipo de objecto, estamos perante agentes inteligentes de diferentes níveis cognitivos. Assim, em termos computacionais existem elementos de IA incorporada na programação orientada a objectos.

(11)

Objectos: Atributos e Métodos

• Um objecto corresponde a uma instância de uma classe, quando definimos uma classe, definimos os atributos de instância e os procedimentos computacionais definidos em termos daquilo que se designa por método de instância.

Um método de instância descreve uma unidade coerente de computação que define o

comportamento das instâncias de uma dada classe, correspondendo a um algoritmo: sempre que o método é invocado, o algoritmo é executado pelo computador para a instância correspondente.

• No contexto da ciência da computação um objecto é uma estrutura algoritmicamente complexa, pois pode correr diferentes algoritmos (diferentes métodos) e possui atributos que o caracterizam, constituindo uma entidade artificial capaz de níveis de cognição adaptativa, logo, estamos perante entidades computacionais que residem na “matriz” simulada do computador

(12)

Python e Objectos

• “Tudo em Python é um objecto!”

• O utilizador pode definir classes de objectos com respectivos atributos e métodos.

(13)

Caso de Avaliação de Desempenho

• Uma empresa que se encontra a avaliar a performance dos Recursos Humanos em dez unidades fabris, situadas em Portugal e Espanha, tendo obtido a seguinte informação sobre cada uma das unidades:

• Número total de trabalhadores;

• Peças produzidas/hora;

• Número de horas de formação;

• Número de acidentes de trabalho;

• Número de operários;

(14)

Tabela

Local Nº de

Trabalhadores

Peça /

hora Formação Acidentes

Nº de Operários Antiguidade Unidade 1 Portugal 200 20 2000 20 150 20 Unidade 2 Portugal 250 10 1200 10 120 15 Unidade 3 Portugal 300 25 2000 20 250 30 Unidade 4 Portugal 210 15 1500 30 110 20 Unidade 5 Portugal 220 16 1600 25 110 20 Unidade 6 Portugal 230 16 2000 15 150 25 Unidade 7 Espanha 250 25 2000 20 160 15 Unidade 8 Espanha 250 26 1100 14 160 16 Unidade 9 Espanha 210 17 1200 10 150 17 Unidade 10 Espanha 210 14 1200 20 150 20

(15)

Convenção

• Embora não seja uma condição imposta pela linguagem, adoptaremos a convenção da Oracle, tal que:

Nomes das Classes: a primeira letra de cada palavra que compõe o nome de uma classe

é definida como maiúscula sendo as restantes letras definidas como minúsculas, assim, para o problema em causa temos a classe designada por UnidadeFabril;

Nomes dos Métodos: a primeira letra é definida como minúscula sendo primeira letra,

para cada uma das restantes palavras que compõem o nome de um método, definida como maiúscula.

(16)
(17)
(18)

Métodos

• avaliaProdutividade

• avaliaFormacao

• avaliaAcidentes

(19)
(20)
(21)

avaliaFormacao

(22)

avaliaAcidentes

(23)
(24)
(25)

Exercícios

• Exercício 1. Simplificar o código avaliaUnidade utilizando a estrutura das listas.

• Exercício 2. Simplificar o código da execução do método com um ciclo “for”.

• Exercício 3. Adaptação do código para a definição de um sistema de diagnóstico estratégico que seja capaz de fornecer recomendações para o gestor de recursos humanos.

(26)

Sistema de Diagnóstico Estratégico

• Avaliação das Dimensões:

• Questão: Se a empresa cumprisse com todos os objectivos qual seria a sua avaliação?

• Trabalhar com desvios em relação à avaliação em que cumpre com os objectivos, para cada uma das

dimensões.

Tarefa: definir limiares e construir as árvores com avaliação estratégica e

Referências

Documentos relacionados

• Os lugares devem estar marcados, de forma a assegurar o máximo de distanciamento Zsico possível (1,5 a 2 m) entre as crianças; • Será realizada a adequada descontaminação

Estudar o efeito da plastificação do ATp com glicerol nas características físico-químicas da blenda PLA/ATp; Analisar a mudança na cristalinidade dos laminados submetidos a

O trabalho de migrantes de Fagundes- PB nas usinas Maravilha e Santa Tereza, em Pernambuco aborda as mudanças estruturais do Sistema Capitalista, que atingem a questão do mercado

Para analisar as Componentes de Gestão foram utilizadas questões referentes à forma como o visitante considera as condições da ilha no momento da realização do

I interpret the difference in the estimates obtained when using ordinary least squares (in column (i)) and instrumental variables (in column (ii)) as indicative

Efeito do DHA sobre o dano celular isquêmico: Apoptose neuronal, infiltração microglial e astrócitos reativos nas regiões corticais e subcorticais em ratos submetidos

dois gestores, pelo fato deles serem os mais indicados para avaliarem administrativamente a articulação entre o ensino médio e a educação profissional, bem como a estruturação

Outro ponto importante referente à inserção dos jovens no mercado de trabalho é a possibilidade de conciliar estudo e trabalho. Os dados demonstram as