Categoria Big Data

Ricardo Jorge porRicardo Jorge

Diferenças entre KPI e OKR

Neste artigo sobre Diferenças entre KPI e OKR, abordaremos os indicadores de eficácia com que sua empresa segue metas estabelecidas (KPI), junto a objetivos definidos como os principais resultados (OKR).

É importante notar que KPI e OKR podem ser complementares e, em alguns cenários, os melhores resultados ocorrem quando são utilizados em conjunto.

KPI ( veja o artigo sobre KPI ) significa Key Performance Indicator, que demonstra a eficácia com que sua empresa está se movendo em direção a metas definidas.

Os KPIs ajudam empresas, departamentos, equipes e indivíduos a definir metas claras e monitorar o progresso mostrado através das métricas utilizadas para uma determinada KPI.

OKR significa Objectives and Key Results, um conjunto de metas que ajuda as empresas a estabelecer “objetivos” juntamente com os “principais resultados”, que ao serem medidos, apoiam a realização de cada objetivo.

Os OKRs nos negócios são usados para comunicar os resultados desejados em toda a organização, focar nas áreas mais importantes que precisam de melhorias e entregar resultados valiosos para os negócios.

O objetivo dos OKRs é definir o que exatamente você precisa melhorar e, com base nisso, como investir seu tempo nesse objetivo.

Você deverá ter foco para não desviar de suas metas, não realizando ações desnecessárias, ao mesmo tempo em que persegue seus objetivos.

Algumas considerações e exemplos sobre OKR

Precisamos ter em mente que os Key Results não são metas “absolutas”, mas sim, resultados mensuráveis que indicam o sucesso ou fracasso do Objetivo de forma clara e não subjetiva.

Se você planeja melhorar seu negócio, então que tipo de resultados mostrará que você teve sucesso?

Uma forma mais fácil de abordar OKR é separá-lo em duas partes, sendo uma para “O” que é o seu Objetivo e outra para “KR” que são indicadores de resultado..

Exemplo para um caso de RH:

“O” – Tornar o equilíbrio entre vida profissional e pessoal uma prioridade para todos os funcionários.

“KR” – Melhorar a pontuação da pesquisa de equilíbrio entre vida profissional e pessoal para X

“KR” – Reduzir as horas extras em X

“KR” – Aumentar a pontuação da pesquisa semanal de satisfação para X

Exemplo para um caso de engenharia e desenvolvimento de produtos:

“O” – Acelerar a implantação de correções de bugs importantes

“KR” – Reduzir o tempo das correções de bugs de X para Y

“KR” – Reduzir as reclamações dos clientes em X%

Como definir seu Objetivo?

Para verificar se a sua definição de Objetivo está adequada, responda as perguntas abaixo:

  • O objetivo é amplo para sua avaliação e perspectiva?
  • O objetivo é inspirador?
  • O objetivo ajuda a atingir os objetivos da empresa?
  • O objetivo está alinhado com a estratégia corporativa?
  • O objetivo é indispensável?
  • O objetivo é coerente com o período de tempo definido para sua execução (timeboxing)?

Como definir seus KRs – Indicadores de Resultado?

Já para a parte “KR”, verifique os seguintes itens:

  • Você consegue medir com clareza, o que deseja como resultado?
  • O indicador selecionado demonstra o nível de sucesso para o seu Objetivo?
  • Tenha em mente que os Principais Resultados são resultados e não atividades/tarefas.
  • Não utilize mais do que 3 ou 5 “KR” para cada “Objetivo”.

Como definir seu OKR?

E para finalizar, valide seu OKR com a lista abaixo:

  • O Key Result adere ao SMART? (Specific, Measurable, Actionable, Relevant, Time bound)
  • O KR é um resultado e não apenas mais uma tarefa/atividade?
  • O KR ajuda a atingir o objetivo ao qual pertence?
  • Existe um cronograma definido para o KR?
  • O KR pertence a uma categoria de meta inspiradora (stretch goal) ou operacional?
  • O KR é importante o suficiente para aparecer no top 5 KRs para o objetivo?

SMART é um conjunto de critérios para conduzir a definição de metas e objetivos em diversas áreas.

Traduzido para o português como: Específico, Mensurável, Alcançável, Relevante e Temporal (relacionado ao Tempo).

De forma ideal, todo objetivo de uma empresa, departamento ou time deveria ser:

  • Específico – focar em uma área ou assunto específico para desenvolvimento.
  • Atribuível – especificar quem irá fazer.
  • Mensurável – quantificar ou, pelo menos, sugerir um indicador de progresso.
  • Realista – considerar resultados que podem ser atingidos de forma realista, dados os recursos disponíveis.
  • Relacionado ao Tempo – especificar até quando o(s) resultado(s) podem ser alcançados.

Qual dos 2 indicadores ( KPI / OKR ) é mais importante?

Após esta introdução, você provavelmente está se perguntando qual deles é mais importante e porque não posso usar apenas um deles?

Bem, se está em dúvida sobre utilizar KPI ou OKR, tudo depende do que você deseja medir.

Por exemplo, se você deseja dimensionar ou melhorar um plano ou projeto que já foi feito antes, os KPIs podem ser a melhor opção. Eles são diretos e permitem que você adicione um sistema de medição aos seus projetos e processos em andamento.

No entanto, se você tem uma visão maior ou deseja mudar sua direção geral, os OKRs podem ser a melhor alternativa. Eles têm maior profundidade o que permitirá que você expanda seus objetivos ainda mais e seja um pouco mais criativo sobre como planeja alcançá-los.

Os objetivos devem impulsionar o crescimento, a mudança ou a inovação em sua empresa ou equipe. Eles devem ser motivacionais, orientadores e fornecer clareza suficiente.

O Objetivo não deve ter um número – é para isso que servem os Indicadores de Resultados.

Os indicadores de resultado devem ser mensuráveis, portanto, se você não tiver um número, não é um indicador de resultado. Verifique com frequência seus indicadores de resultados para saber se está no caminho certo.

Importante notar que os indicadores de resultados não devem ser binários e tão pouco devem ser KPIs.

Agora que você já sabe as diferenças entre KPI e OKR, como pretende utilizá-los em sua empresa ou negócio?

Deixe seu comentário abaixo.


Artigos relacionados:

KPI o que é e para que serve

Outros artigos no BLOG:

Como desenvolver vender e ter sucesso com IoT

IoT o que fazer após a instalação?

O que você precisa saber sobre NFT


Image by PIRO4D from Pixabay

Ricardo Jorge porRicardo Jorge

KPI o que é e para que serve

Neste artigo sobre KPI o que é e para que serve, veremos a importância da definição e do acompanhamento das métricas relevantes a um processo, produto ou serviço.

Para a correta gestão de qualquer iniciativa, além de definir metas, precisamos acompanhar continuamente os resultados obtidos e ajustar o que for necessário para o sucesso desta iniciativa.

Primeiro é necessário definir KPI que em inglês significa Key Performance Indicator ou Principal Índice de Desempenho ou ainda Indicador-Chave de Desempenho.

Vejamos ainda, a frase abaixo atribuída a William Edwards Deming:

“Não se gerencia o que não se mede,

não se mede o que não se define,

não se define o que não se entende,

e não há sucesso no que não se gerencia

Diferentes perfis de empresa e negócio possuem KPIs específicos.

Nós mesmos temos nossos KPIs:

  • Quantas horas investi em meus estudos e projetos pessoais?
  • Como está o saldo da conta bancária ou de investimentos?
  • O carro tem combustível, ou bateria, suficiente para chegar ao destino?
  • Tenho comida suficiente até a próxima compra?

Para uma indústria seriam:

  • Quantidade de peças produzidas
  • Satisfação dos clientes e índice de falhas dos produtos
  • Horas em operação de um equipamento, visando a manutenção preventiva
  • Treinamento ou requalificação das Equipes
  • Acompanhamento do consumo de água e energia elétrica

No âmbito de T.I costumamos utilizar:

  • Acompanhamento dos recursos de infra ( CPU, memória, uso do espaço de armazenamento )
  • Uso dos recursos de Rede Local e Internet
  • Tempo de resposta e disponibilidade dos serviços
  • Treinamento ou requalificação das Equipes
  • Atendimento de incidentes e o tempo para resolução

Para a Equipe de Marketing, parte dos dados de T.I. refletem outras informações ( insights )

  • Quantidade de acesso ao Site institucional ou Site de Vendas que efetivam a compra (conversão)
  • Horários, dias da semana ou datas especiais com maior acesso ao Site de Vendas
  • Perfil dos usuários que acessam o Site de Vendas ( ou institucional )
  • Nível de satisfação dos clientes com os produtos e / ou serviços
  • Efetividade das campanhas de marketing junto aos clientes

Insight é a compreensão de uma causa e efeito específicos dentro de um contexto particular.

Em todos os aspectos, é possível verificar que precisamos medir e avaliar o estado atual para determinar se está dentro do que esperamos ou necessitamos.

Escolha e acompanhamento dos indicadores (KPI)

Existe uma frase que diz “o que é medido é concretizado”, mas como a medição em si é feita?

Abaixo existem algumas etapas importantes a serem consideradas no rastreamento eficaz de KPIs que fazem parte de sua estrutura de gerenciamento de desempenho.

Etapa 1: Escolha uma ou duas medidas que contribuam diretamente para cada um dos seus objetivos.

Embora existam inúmeras partes que são essenciais para a operação e desempenho de uma empresa ou negócio, não é possível ou eficiente rastrear tudo o que está acontecendo.

De um lado, nem todas as medidas são importantes o suficiente para rastrear.

Por outro lado, rastrear muitas medidas cria um trabalho desnecessário que, em última análise, não será útil.

Em vez disso, escolha uma ou duas métricas para cada um de seus objetivos que serão mais úteis para medi-los e alcançá-los.

Várias métricas podem ser aplicadas, mas apenas algumas delas terão impacto suficiente para melhorar o desempenho.

Etapa 2: verifique se suas medidas atendem aos critérios para um bom KPI.

Além de garantir que os KPIs escolhidos sejam verdadeiros indicadores de desempenho, eles também devem ter algumas características adicionais que sinalizarão sua eficácia.

Faça estas perguntas sobre cada KPI que você está considerando:

  • Pode ser facilmente quantificado?
  • Somos capazes de influenciar/dirigir mudanças usando este KPI ou está fora do nosso controle?
  • Este KPI se conecta ao nosso objetivo, bem como à estratégia geral?
  • É simples de ser definido e entendido?
  • Pode ser medido de maneira oportuna e precisa?
  • Contribui para uma ampla gama de perspectivas – ou seja, Cliente, Financeira, Processos Internos, Aprendizagem e Crescimento?
  • Continuará relevante no futuro?

Etapa 3: Atribua a responsabilidade de cada KPI a indivíduos específicos.

Os KPIs são uma ferramenta importante para medir o progresso, mas é mais provável que gerem melhores resultados se alguém for designado por rastreá-los e reportá-los.

Cada parte responsável por um KPI fará o máximo para demostrar bons resultados referentes a métrica de sua responsabilidade.

Desta forma os resultados tendem a ser melhores, pois todos estarão motivados e focados no sucesso da iniciativa.

Etapa 4: Monitorar e relatar os KPIs.

Por fim, é necessário revisar continuamente seus KPIs e o desempenho apresentado por eles, com uma frequência que faça sentido para os seus objetivos.

Para alguns casos os relatórios poderão ser semanais, mensais, trimestrais ou predefinidos pelo negócio.

O monitoramento regular facilita a visualização do período de tempo em que algo pode ter um desempenho inferior ou superior, bem como o que pode ter acontecido nesse período para causar a mudança.

O conjunto de indicadores de performance (KPI) dever ser selecionado de tal forma que permita uma visão clara e objetiva para o acompanhamento dos resultados e metas desejados e definidos.

E para você, o que é e para que serve um KPI?

Deixe seu comentário!


Artigos relacionados:

IoT e os dados dos sensores e do CLP

Séries históricas e IoT – conheça planeje e decida

Indústria 4.0 aplicada na pequena indústria

Os caminhos para Transformação Digital

Você quer ser alguém ou ninguém?


Photo by Arie Wubben on Unsplash
Ricardo Jorge porRicardo Jorge

Da indústria 4.0 para Sociedade 5.0

Neste artigo sobre Da indústria 4.0 para Sociedade 5.0, abordaremos a visão da Japan Business Federation (Keidanren) para um novo perfil de sociedade que pode ser considerada como uma Super Sociedade.

Encontrei duas versões, do documento sobre Sociedade 5.0. Elas podem ser vistas em doc1 e doc2.

Introdução

O envelhecimento da população é um fato para a maioria dos países.

No Japão, a população já atingiu níveis de envelhecimento um pouco acima daqueles percebidos em outros países.

Conhecer os desafios e soluções da sociedade japonesa, pode ser um bom ponto de partida para definirmos nossos próprios caminhos e soluções.

O plano da Sociedade 5.0 promovido pelo governo japonês está fundamentado no ciclo abaixo:

  • Coleta de dados de todas as partes da sociedade através de IoT
  • Criação de Big data
  • Análise de dados por IA
  • Divulgação dos resultados do estudo de dados de volta à sociedade

Assim como na Indústria 4.0, também conhecida como a 4ª Revolução Industrial, a Sociedade 5.0 também está representada em estágios sociais.

O Caminho para a Sociedade 5.0

A proposição de Japan Business Federation (Keidanren) é baseada em uma evolução da sociedade em cinco estágios.

  • 1.0 Sociedade de caçadores-coletores
  • 2.0 Sociedade Agrária
  • 3.0 Sociedade Industrial
  • 4.0 Sociedade da Informação
  • 5.0 Sociedade Super Inteligente
Sociedade 5.0
Sociedade 5.0 – imagem obtida dos documentos citados nos links acima.

O Big Data coletado através dos dispositivos IoT, será convertido em um novo tipo de inteligência, usando IA.

Este ciclo será disseminado por toda sociedade.

Com isto, é esperado que a vida das pessoas seja mais fácil e sustentável, pois elas receberão apenas os produtos e serviços nas quantidades e nos prazos necessários.

Os componentes da Sociedade 5.0

A Sociedade 5.0 tem por base os seguintes pilares:

  • Infraestrutura
  • Tecnologia para Área Financeira
  • Assistência Médica e Serviços de Saúde
  • Logística e Mobilidade
  • Inteligência Artificial

Desafios da Sociedade 5.0 no Japão

A proposição da Sociedade 5.0 não está integralmente relacionada com o envelhecimento da população, mas também com os riscos climáticos, poluição e desastres naturais.

O Keidanren (Japan Business Federation) publicou um documento que pode ser visto nos links acima, onde descreve a necessidade de “derrubar” cinco muros ou, vencer os cinco desafios fundamentais.

Desafio dos Ministérios e Agências.

Segundo a proposição do Keidanren, uma “formulação de estratégias nacionais e integração do sistema de promoção do governo” será necessária. Isso inclui a arquitetura de um “sistema IoT prático” e uma função de think-tank ( laboratório de ideias ).

Desafio do Sistema Jurídico

Adequação das leis que permitam implementar tecnologias avançadas.

Na prática, isso também significaria reformas regulatórias e um impulso na de digitalização administrativa ( transformação digital ).

Desafios Tecnológicos

A busca pela formação da “fundação do conhecimento”.

Está claro que os dados acionáveis desempenham um papel fundamental aqui, assim como todas as tecnologias / áreas para protegê-los e aproveitá-los, da cibersegurança à robótica, nano, bio e tecnologia de sistemas.

O documento também menciona um sério compromisso de P&D em vários níveis.

Desafio dos Recursos Humanos

Reforma educacional, alfabetização em TI, ampliação dos recursos humanos disponíveis com especializações em habilidades digitais avançadas são apenas alguns deles.

Caso a proposição de Keidanren se tornar realidade, o Japão abrirá suas portas para profissionais altamente qualificados em áreas como segurança e ciência de dados.

Ponto muito importante e interessante será: “a promoção da participação das mulheres para descobrir potenciais talentos”.

Desafio da Aceitação Social

O documento proposto pelo Keidanren não apenas enfatiza a necessidade de um consenso social, mas também de um olhar profundo sobre as implicações sociais e até questões éticas.

Dentre elas está a relação homem-máquina e até mesmo questões filosóficas como definir o que significa felicidade individual e humanidade.

Conclusão

Bem, a proposição de uma Sociedade 5.0 é um tema desafiador, assim como podemos observar pelos 5 muros ou desafios listados acima.

Cada país e cada sociedade deverá avaliar as implicações, ganhos e mudanças que isto poderá trazer para seus habitantes e cidadãos.

Sem dúvida com o avanço da implementação cada vez maior de dispositivos IoT em nossas casas, locais de trabalho e entretenimento, uso de smartfones, sistemas de telemedicina, os dados coletados poderão ser usados em benefício de políticas públicas e sociais.

Contudo, o grande desafio é determinar quando e o que deverá ser compartilhado sem interferir em nossas vidas privadas e respeitando as várias leis de proteção para o compartilhamento de dados.

E você, qual é sua opinião sobre uma possível Sociedade 5.0 ?


Artigos relacionados:

Pare de chamar tudo de Inteligência Artificial

Os caminhos para Transformação Digital

Você quer ser alguém ou ninguém?

Algumas tendências para IoT em 2022


Artigo baseado em outras postagens que podem ser vistas no link1 e link2.


Image by Gerd Altmann from Pixabay
Ricardo Jorge porRicardo Jorge

Os caminhos para Transformação Digital

Neste artigo sobre Os caminhos para Transformação Digital, será feita uma avaliação sobre as principais formas de conduzir adequadamente a Transformação Digital para que seja rápida, eficiente e duradoura.

Imagino que a maioria dos leitores já tenha ouvido falar sobre Transformação Digital muitas e muitas vezes e isso se deve a importância que este assunto tem para empresas e organizações de todos os tipos e tamanhos.

A Transformação Digital está mais perto do que você imagina! Basta olhar para os pequenos restaurantes e pizzarias que aceitavam pedido só por telefone e agora utilizam um aplicativo para Smartphone.

Aqui não serão abordadas metodologias e ferramentas porque tudo depende do perfil do seu negócio, da maturidade de seus colaboradores e, principalmente, da capacidade e urgência para investir nas ações necessárias para esta transformação.

É fácil mostrar casos de sucesso onde foram investidas enormes quantias e feita aquisição de ferramentas complexas para proporcionar os resultados mostrados para o público, o mercado e seus concorrentes.

Não importa o tamanho de sua empresa ou negócio, a transformação Digital poderá ajudar em várias frentes, proporcionando ganhos e melhorias no posicionamento de seus produtos e serviços para o mercado e, principalmente, no relacionamento com seus clientes.

Como devo iniciar a Transformação Digital?

Na maioria das vezes, o processo tem início à partir de uma visão estratégica vinda dos gestores da empresa, ou o chamado Nível “C” nas grandes corporações, que imaginam que algo pode ser melhorado através de um processo feito “digitalmente”.

Deste ponto em diante, as empresas passam então a ficar totalmente envolvidas com a intenção de transformar digitalmente seus negócios, esquecendo que muitas vezes não têm as pessoas certas para a condução e a tomada da decisão e tão pouco estão lidando com as questões adequadas para atingir seus objetivos de transformação digital.

Não basta pedir para seus colaboradores reimaginarem o que fazem, por que fazem ou como fazem.

Para iniciar este processo de transformação, você precisa estimular as conversas certas e permitir uma análise profunda sobre suas propostas de valor.

É necessário abordar as questões chaves que precisam ser respondidas objetivamente e, mais importante, desafiar as equipes internas a pensar além da transformação digital, porque apenas esta abordagem não é o suficiente.

De fato, a transformação digital é uma questão de vantagem competitiva.

Criação de experiências, produtos ou serviços que não apenas transformam negócios individuais, mas que reimaginam completamente setores inteiros.

Você pode não só transformar seu negócio, mas reinventar o setor onde atua.

Alguns exemplos que estão ao nosso redor são as Fintechs que mudaram o mercado financeiro, a explosão do e-commerce durante a pandemia e os processos de entrega (Delivery) de produtos os mais variados.

Um outro exemplo interessante sobre aplicação da Transformação Digital, são os aplicativos de transporte como Uber, 99, Lyft e vários outros.

Antes, existiam as Cooperativas de Taxistas, mas nenhuma delas conseguiu transformar o negócio onde já operavam por décadas.

Como posso conseguir esta vantagem competitiva?

Comece avaliando detalhadamente suas propostas de valor!

Uma proposta de valor é uma declaração que responde ao “por que” alguém deveria fazer negócios com você.

Ela deve ser capaz de convencer os potenciais clientes que seu serviço ou produto terá mais valor para eles do que ofertas semelhantes da concorrência

A maioria inicia sua jornada para transformação digital, esperando que a tecnologia resolva tudo.

E o resultado final é, se o que você está tentando vender não projeta um valor para seus consumidores, então nenhuma tecnologia vai resolver esse problema para você.

Uma série de empresas com variados perfis e tamanhos, estão perdendo a oportunidade de mudanças positivas.

Por vezes, imaginam que basta fazer um planejamento uma vez por ano, talvez indo para um hotel chique por alguns dias, para falarem sobre mudanças com seus colaboradores e, depois, definirem isso como uma tendência, ou algo a ser feito, para o próximo ano.

Bem, isso não funcionará e deixará sua empresa para trás.

A menos que você esteja prestando muita atenção sobre o que seus consumidores dizem sobre suas propostas de valor e tenha agilidade para responder às necessidades deles, seu projeto de transformação não terá sucesso.

O grande ponto é: com a mudança do mercado e dos hábitos dos consumidores, você tem que continuar se reinventando. Você nunca poderá ficar parado.

A realidade para a maioria das organizações é que há uma série de prioridades concorrentes em todas as Áreas, competindo pelo ciclo orçamentário.

Portanto, a verdadeira questão a ser examinada é: “estou investimento meus recursos nas áreas certas?”

O que vemos repetidamente é que as empresas que têm sucesso na criação de vantagem competitiva são aquelas que estão colocando uma alta proporção de seus investimentos em suas tecnologias de front-end, ou seja, as Áreas que são mais visíveis para o consumidor.

Claro, as tecnologias de back office são importantes, porque são a base do seu negócio.

No entanto, na maiorias das vezes não é o back office que vai gerar vantagem competitiva.

Comprar ferramentas ou desenvolver em casa?

Não importa se você é uma Startup, uma pequena empresa ou uma corporação gigante já listada na Bolsa de Valores, toda organização precisa escolher de maneira inteligente, as ferramentas a serem usadas.

Em muitos casos, uma ferramenta que já esteja no mercado será a escolha perfeita.

Nunca esqueça que a Nuvem pode ser usada não só para validar suas ideias de transformação, como depois para o ambiente de produção.

Mas lembre! Usar exatamente as mesmas ferramentas que seus concorrentes não siginifica que você terá destaque e sucesso no mercado.

Por vezes, será necessário personalizar uma ferramenta existente ou até mesmo desenvolver algo que esteja alinhado com suas necessidades e foco para o mercado.

Esta personalização, ou criação de algo próprio, poderá ser seu diferencial, trazendo flexibilidade, controle e autonomia.

É fundamental que as ferramentas escolhidas estejam alinhadas com suas estratégias de mercado e que possam alavancar sua proposta de valor.

A melhor ferramenta é aquela que faz o que você precisa, quando você precisa.

Pense grande!

Resumindo: desafie-se a pensar além da transformação digital, porque é tudo uma questão de vantagem competitiva.

Não negligencie suas propostas de valor e pense com muito cuidado sobre como você está gerenciando seus recursos financeiros, especialmente no relacionamento com seus clientes.

Em seguida, desenvolva seus recursos técnicos para mantê-lo à frente de seus concorrentes e seja ágil para garantir que você esteja sempre, sempre centrado no cliente.

Não acredite em soluções mágicas e, acima de tudo, nunca fique parado.


Literatura adicional:

Acesso o site da OCDE (Organização para a Cooperação e Desenvolvimento Econômico) e veja a publicação A Caminho da Era Digital no Brasil


Outros artigos:

Pare de chamar tudo de Inteligência Artificial

Indústria 4.0 aplicada na pequena indústria

IoT e os dados dos sensores e do CLP

STEM e a importância para sua carreira

Can we please stop talking about ‘digital transformation’?


Image by Gerd Altmann from Pixabay
Ricardo Jorge porRicardo Jorge

TensorFlow.js – introdução a machine learning

Neste artigo sobre TensorFlow.js – introdução a machine learning, será feita uma introdução a este poderoso Framework para machine learning ( ou Aprendizado de máquina em português ).

Até bem recentemente, apenas começar a escrever sua primeira linha de código de aprendizado de máquina exigia um grande investimento inicial em tempo e dinheiro.

A boa notícia é que para iniciar o aprendizado de máquina, nunca foi tão fácil.

Na verdade, se você está lendo este artigo, significa que já tem as ferramentas de que precisa para mergulhar de cabeça.

Agora você pode aprender a estrutura de aprendizado de máquina TensorFlow diretamente no seu navegador, usando Javascript.

O TensorFlow.js foi lançado no Google I / O 2018.

Executar o aprendizado de máquina no navegador abre um mundo de casos de uso e é uma ótima oportunidade de usar Javascript para aprender sobre os conceitos e estruturas de aprendizado de máquina.

Dando os primeiros passos

Tudo que você precisa para executar o Tensorflow.js é seu navegador WEB.

É fácil perder de vista toda a conversa sobre transpiladores, empacotadores e demais ferramentas, mas tudo que você precisa é um navegador da WEB para executar TensorFlow.js.

O código que você desenvolve localmente é o mesmo código que você poderá enviar aos usuários para executar em seus navegadores.

Se você é novo no Javascript ou se já faz um tempo desde que escreveu qualquer código de front-end, algumas das mudanças recentes nas linguagens podem confundi-lo.

Um pouco da história do Javascript

À medida que nossas expectativas para os aplicativos da web aumentaram na última década, o ecossistema de front-end explodiu em complexidade.

A linguagem Javascript, em particular, amadureceu muito como linguagem de programação, adotando uma série de mudanças com visão de futuro para a linguagem, enquanto continua a oferecer suporte a uma das maiores bases de usuários de qualquer linguagem de programação.

Novas alterações nas especificações da linguagem Javascript são referenciadas com acrônimos como ES5, ES6, ES2015, E2016.

ES significa ECMAScript e Javascript é baseado neste padrão. 5 e 6 eram tradicionalmente usados ​​para se referir a versões do padrão, mas hoje em dia os anos são usados ​​para maior clareza.

Nem todos os navegadores WEB suportam da mesma forma as várias versões de ECMAScript e alguns problemas de compatibilidade podem ocorrer.

Por que os modelos de código em JavaScript

Muitos modelos foram implementados em Python porque Python é uma escolha popular entre cientistas de dados e tem o melhor suporte em termos de funções.

No entanto, a ampla adoção do aprendizado profundo ( deep learning ) em todos os tipos de aplicativos atraiu desenvolvedores de diferentes origens em linguagens de programação.

Além disso, as práticas de implementação de modelos tornaram-se mais bem compreendidas e amplamente disponíveis, permitindo que mais desenvolvedores construam seu próprio modelo que se adapta melhor a sua aplicação.

Felizmente, o TensorFlow foi projetado para oferecer suporte a diferentes vinculações de linguagem, em particular, programação Python, C, R, JavaScript e Java ™.

Como cada linguagem oferece seu próprio conjunto de vantagens, os desenvolvedores têm seus motivos para escolher a linguagem de programação.

Portanto, é importante permitir que os desenvolvedores permaneçam com seus ambientes de programação familiares, em vez de exigir que eles aprendam uma nova linguagem.

Por que APIs de alto nível ?

Codificar um modelo em uma API de alto nível permite que você seja mais produtivo, concentrando-se no design de alto nível e evitando as porcas e parafusos da implementação de baixo nível.

O código é muito mais curto e fácil de ler e manter.

O que são os Tensores ?

Os tensores são os principais blocos de construção do TensorFlow.

Eles são contêineres de dados n-dimensionais. Você pode pensar neles como arrays multidimensionais em linguagens como PHP, JavaScript e outras.

O que isso significa é que você pode usar tensores como valores escalares, vetoriais e matriciais, uma vez que são uma generalização deles.

Cada tensor contém as seguintes propriedades

  • rank – número de dimensões
  • shape – tamanho de cada dimensão
  • dtype – tipo de dados dos valores

Conclusão : TensorFlow.js é um Framework que permite inúmeras possibilidades e neste artigo foi feita apenas uma breve introdução, deixando links para materiais que podem ser consultados para uma experiência mais completa sobre este assunto.

É importante conhecer e saber que existem várias opções, quando o assunto é “aprendizado de máquina”.


Material consultado :

Hello World with Tensorflow.js

Coding a deep learning model using TensorFlow.js

Getting Started with TensorFlow.js

Introduction to Tensorflow.js and Machine Learning


Artigos relacionados :

Pare de chamar tudo de Inteligência Artificial

IoT o que fazer após a instalação?

IoT e os dados dos sensores e do CLP


Image by Gerd Altmann from Pixabay
Ricardo Jorge porRicardo Jorge

Pare de chamar tudo de Inteligência Artificial

Neste artigo sobre Pare de chamar tudo de Inteligência Artificial, abordaremos o uso algumas vezes exagerado, deste termo tão comum em nosso dia a dia.

Este artigo é uma versão e o artigo original e completo pode ser visto aqui.

Os sistemas de inteligência artificial estão longe de serem avançados o suficiente para substituir os humanos em muitas tarefas que envolvem raciocínio, conhecimento do mundo real e interação social.

Eles estão mostrando competência de nível humano em habilidades de reconhecimento de padrões de baixo nível, mas no nível cognitivo eles estão meramente imitando a inteligência humana, não se engajando profunda e criativamente, diz Michael I. Jordan, um pesquisador líder em IA e aprendizado de máquina.

Jordan é professor do departamento de engenharia elétrica e ciência da computação e do departamento de estatística da Universidade da Califórnia em Berkeley.

Ele observa que a imitação do pensamento humano não é o único objetivo do aprendizado de máquina – o campo da engenharia que está por trás do progresso recente em IA – ou mesmo o melhor objetivo.

Em vez disso, o aprendizado de máquina pode servir para aumentar a inteligência humana, por meio da análise meticulosa de grandes conjuntos de dados, da mesma forma que um mecanismo de busca aumenta o conhecimento humano organizando a web.

O aprendizado de máquina também pode fornecer novos serviços aos humanos em domínios como saúde, comércio e transporte, reunindo informações encontradas em vários conjuntos de dados, encontrando padrões e propondo novos cursos de ação.

“As pessoas estão ficando confusas sobre o significado da IA ​​nas discussões sobre tendências tecnológicas - que existe algum tipo de pensamento inteligente nos computadores que é responsável pelo progresso e que está competindo com os humanos”, diz ele. “Não temos isso, mas as pessoas estão falando como se tivéssemos.”

Afinal, Jordan deveria saber a diferença. O IEEE Fellow é uma das maiores autoridades mundiais em aprendizado de máquina.

Em 2016, ele foi classificado como o cientista da computação mais influente por um programa que analisou publicações de pesquisa, informou a Science.

Jordan ajudou a transformar o aprendizado de máquina não supervisionado, que pode encontrar estrutura em dados sem rótulos preexistentes, de uma coleção de algoritmos não relacionados a um campo intelectualmente coerente, explica o  Engineering and Technology History Wiki.

A aprendizagem não supervisionada desempenha um papel importante em aplicações científicas onde há uma ausência de teoria estabelecida que possa fornecer dados de treinamento rotulados.

As contribuições de Jordan renderam-lhe muitos prêmios, incluindo o Prêmio Ulf Grenander em Teoria Estocástica e Modelagem da American Mathematical Society deste ano (2021). No ano passado, ele recebeu a medalha IEEE John von Neumann por suas contribuições para o aprendizado de máquina e ciência de dados.

Nos últimos anos, ele tem a missão de ajudar cientistas, engenheiros e outros a compreender todo o escopo do aprendizado de máquina.

Ele diz acreditar que os desenvolvimentos no aprendizado de máquina refletem o surgimento de um novo campo da engenharia.

Jordan traça paralelos com o surgimento da engenharia química no início de 1900 a partir dos fundamentos da química e da mecânica dos fluidos, observando que o aprendizado de máquina se baseia em décadas de progresso na ciência da computação, estatística e teoria de controle. Além disso, diz ele, é a primeira área da engenharia humano cêntrica, voltada para a interface entre as pessoas e a tecnologia.

“Embora as discussões de ficção científica sobre IA e superinteligência sejam divertidas, elas são uma distração”, diz ele. “Não tem havido foco suficiente no problema real, que é construir sistemas baseados em aprendizado de máquina em escala planetária que realmente funcionem, agreguem valor aos humanos e não ampliem as desigualdades.”

Esclarecendo a Inteligência Artificial

Em 2019, Jordan escreveu “Artificial Intelligence – The Revolution Hasn Happened Yet”, publicado na Harvard Data Science Review.

Ele explica no artigo que o termo IA é mal compreendido não apenas pelo público, mas também pelos tecnólogos.

Na década de 1950, quando o termo foi cunhado, ele escreve, as pessoas aspiravam a construir máquinas de computação que possuíssem inteligência de nível humano.

Essa aspiração ainda existe, diz ele, mas o que aconteceu nas décadas que se seguiram é algo diferente.

Os computadores não se tornaram inteligentes “per se”, mas forneceram recursos que aumentam a inteligência humana, escreve ele.

Além disso, eles se destacaram em recursos de reconhecimento de padrões de baixo nível que poderiam ser realizados em princípio por humanos, mas com grande custo.

Os sistemas baseados em aprendizado de máquina são capazes de detectar fraudes em transações financeiras em grande escala, por exemplo, catalisando assim o comércio eletrônico. Eles são essenciais na modelagem e controle de cadeias de suprimentos na manufatura e na área de saúde.

Eles também ajudam corretores de seguros, médicos, educadores e cineastas.

Apesar de tais desenvolvimentos serem chamados de “tecnologia de IA”, ele escreve, os sistemas subjacentes não envolvem raciocínio ou pensamento de alto nível.

Os sistemas não formam os tipos de representações e inferências semânticas de que os humanos são capazes.

Eles não formulam e perseguem objetivos de longo prazo.

“Em um futuro previsível, os computadores não serão capazes de se equiparar aos humanos em sua capacidade de raciocinar abstratamente sobre as situações do mundo real”, escreve ele. “Precisaremos de interações bem pensadas de humanos e computadores para resolver nossos problemas mais urgentes. Precisamos entender que o comportamento inteligente de sistemas de grande escala surge tanto das interações entre os agentes quanto da inteligência dos agentes individuais. ”

Além disso, ele enfatiza, a felicidade humana não deve ser deixada de lado ao desenvolver tecnologia. “Temos uma oportunidade real de conceber algo historicamente novo: uma disciplina de engenharia centrada no homem”, escreve Jordan.

A perspectiva de Jordan inclui uma discussão revitalizada do papel da engenharia nas políticas públicas e na pesquisa acadêmica.

Ele ressalta que, quando as pessoas falam sobre ciências sociais, parece atraente, mas o termo engenharia social parece pouco atraente.

O mesmo vale para a ciência do genoma versus engenharia do genoma.

“Acho que permitimos que o termo engenharia diminuísse na esfera intelectual”, diz ele.

O termo ciência é usado em vez de engenharia quando as pessoas desejam se referir à pesquisa visionária. Frases como “apenas engenharia” não ajudam.

“Acho que é importante lembrar que, apesar de todas as coisas maravilhosas que a ciência fez pela espécie humana, é realmente a engenharia - civil, elétrica, química e outras áreas da engenharia - que aumentou mais direta e profundamente a felicidade humana.”

Artigos relacionados :

IoT e os dados dos sensores e do CLP

IoT o que fazer após a instalação?

IoT na Agricultura 4.0 – A Tecnologia a Serviço do Campo


Image by Gerd Altmann from Pixabay
Ricardo Jorge porRicardo Jorge

COVID-19 Dados Reflexões e Estatísticas

Neste artigo sobre COVID-19 Dados Reflexões e Estatísticas, teremos uma abordagem diferente dos demais artigos já publicados neste Blog.

É claro que todos nós já percebemos o impacto mundial causado por esta pandemia do coronavírus, mas desejo aproveitar este espaço para colocar alguns dados coletados dos sites About Corona e WHO (OMS) onde é possível avaliar o status do Brasil, perante outras nações no que diz respeito a esta pandemia.

Espero que isto possa contribuir para melhor entendermos porque tanto se fala sobre este vírus, mas também percebermos que ainda há muito por ser feito, mesmo no âmbito mundial.

COVID-19 um pouco de história

Em 31 de dezembro de 2019, a Organização Mundial da Saúde (OMS) foi alertada sobre vários casos de pneumonia na cidade de Wuhan, província de Hubei, na República Popular da China. Tratava-se de uma nova cepa (tipo) de coronavírus que não havia sido identificada antes em seres humanos.

Uma semana depois, em 7 de janeiro de 2020, as autoridades chinesas confirmaram que haviam identificado um novo tipo de coronavírus. Os coronavírus estão por toda parte. Eles são a segunda principal causa de resfriado comum (após rinovírus) e, até as últimas décadas, raramente causavam doenças mais graves em humanos do que o resfriado comum.

Ao todo, sete coronavírus humanos (HCoVs) já foram identificados: HCoV-229E, HCoV-OC43, HCoV-NL63, HCoV-HKU1, SARS-COV (que causa síndrome respiratória aguda grave), MERS-COV (que causa síndrome respiratória do Oriente Médio) e o, mais recente, novo coronavírus (que no início foi temporariamente nomeado 2019-nCoV e, em 11 de fevereiro de 2020, recebeu o nome de SARS-CoV-2). Esse novo coronavírus é responsável por causar a doença COVID-19.

A OMS tem trabalhado com autoridades chinesas e especialistas globais desde o dia em que foi informada, para aprender mais sobre o vírus, como ele afeta as pessoas que estão doentes, como podem ser tratadas e o que os países podem fazer para responder.

A Organização Pan-Americana da Saúde (OPAS) tem prestado apoio técnico aos países das Américas e recomendado manter o sistema de vigilância alerta, preparado para detectar, isolar e cuidar precocemente de pacientes infectados com o novo coronavírus.

Dados obtidos do site : PAHO

Reflexões sobre saúde e qualidade de vida

É importante entender que, embora o coronavírus seja um assunto muito divulgado nas Redes Sociais e na mídia em geral, existem muitos outros focos de atenção que deveriam estar em nossos radares, durante e após esta pandemia.

Imaginar que basta tomar a vacina e tudo voltará ao normal, parece ser algo distante da realidade para muitas pessoas no mundo.

O motivo é que várias outras ameaças continuarão a existir, mas que são pouco divulgadas ou pouco percebidas, porque não afetam a maioria das pessoas com melhores condições sócio econômicas.

Contudo, isto não significa que não sejam importantes e que não deveriam ser tanto ou mais divulgadas do que a pandemia de COVID-19.

Alguns dados importantes e tristes ao mesmo tempo :

Como podemos ver, em apenas 4 tópicos acima, ainda temos muito com o que nos preocuparmos e também com o que contribuirmos para melhorar.

Usando tecnologia para entender nosso mundo

Como eu mencionei no início deste artigo, elaborei um pequeno “Flow” usando Node-RED para obter dados sobre COVID-19, selecionando alguns países e assim poder comparar com o Brasil.

Conhecer, comparar e entender o que acontece, é o primeiro passo para definir o que pode e deve ser feito.

Cada um, como cidadão, terá sua visão e assim uma forma de contribuição.

Após a execução do “Flow”, o resultado é uma tela similar a que é vista abaixo.

As coletas anteriores podem ser vistas aqui.

Observação : nem todos os países atualizam os dados com a mesma frequência.


Abaixo, segue o “Flow” Node RED usado para estas coletas.

Na versão 3, existem informações adicionais como :

  • Percentual de vacinados, que é obtida do site WHO / OMS.
  • Dados sobre território dos países
  • Informação sobre Renda Per Capita, obtida deste link no site Wikipédia.

Na versão 4, tivemos as seguinte alterações :

  • Foram incluídos os principais países da América do Sul.
  • Os dados sobre renda, território e população são do site Wikipédia referentes a cada país. Veja exemplo aqui.
  • As informações sobre os dados do site Wikipédia foram agregadas em um array JSON.

Blog atualizado em 19/01/2022

Encontrou algum erro ou tem uma ideia para melhorar o código, envie sua sugestão!


Flow – versão 4

[{"id":"1b35239f.67dcdc","type":"tab","label":"COVID-19","disabled":false,"info":""},{"id":"8cecea9a.393958","type":"inject","z":"1b35239f.67dcdc","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"15 21 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":240,"wires":[["5f3b6ebb.187e5"]]},{"id":"e28fcea8.5235b","type":"json","z":"1b35239f.67dcdc","name":"","property":"payload","action":"","pretty":true,"x":530,"y":100,"wires":[["3b331cf6.603b34"]]},{"id":"ffb139b8.592478","type":"http request","z":"1b35239f.67dcdc","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://corona-api.com/countries","tls":"","persist":false,"proxy":"","authType":"","x":370,"y":100,"wires":[["e28fcea8.5235b"]]},{"id":"ba7a1fef.62ec3","type":"debug","z":"1b35239f.67dcdc","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":930,"y":100,"wires":[]},{"id":"3b331cf6.603b34","type":"function","z":"1b35239f.67dcdc","name":"Agrega Dados","func":"var brasilTime = new Date().toLocaleString(\"pt-BR\", {timeZone: \"America/Sao_Paulo\"});\n\nvar d = new Date(brasilTime);\n\nvar diaSemanaA = new Array('Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb');\nvar curDiaSemanaA = diaSemanaA[d.getDay()];\n\nvar curHour = d.getHours();\nvar curMin = d.getMinutes();\nvar curDay = d.getDate();\nvar curMonth = d.getMonth() + 1;\nvar curYear = d.getFullYear();\n\nif (curMin < 10) {\n        curMin = \"0\" + curMin;\n}\n\nif (curHour < 10) {\n    curHour = \"0\" + curHour;\n}\n\nvar cur_date = curDiaSemanaA + \" \" + curDay + \"/\" + curMonth + \"/\" + curYear + \" - \" + curHour + \":\" + curMin;\n\nmsg.cur_date = cur_date;\n\n// Site OMS utiliza ISO3 ( 3 digitios ) para identificar os paises\n// Site About Corona utiliza 2 digitos para identificar os paises\n// A ordem dos paises deve ser a mesma para os 2 sites\n//\n\nconst countries_code = [\"BR\", \"US\", \"MX\", \"AR\", \"BO\", \"CL\", \"CO\", \"EC\", \"PY\", \"PE\", \"UY\", \"VE\", \"GB\", \"IT\", \"ES\", \"PT\", \"BE\", \"DE\", \"FR\", \"ZA\", \"RU\", \"IN\", \"CN\"];\nconst countries_iso3 = [\"BRA\", \"USA\", \"MEX\", \"ARG\", \"BOL\", \"CHL\", \"COL\", \"ECU\", \"PRY\", \"PER\", \"URY\", \"VEN\", \"GBR\", \"ITA\", \"ESP\", \"PRT\", \"BEL\", \"DEU\", \"FRA\", \"ZAF\", \"RUS\", \"IND\", \"CHN\"];\n\nconst countries_territory = [\"8.515.767\", \"8.081.867\", \"1.972.550\", \"2.780.400\", \"1.098.581\", \"756.096\", \"1.141.748\", \"406.796\", \"1.285.216\", \"176.215\", \"240.000\", \"301.340\", \"505.990\", \"92.090\", \"30.689\", \"349.380\", \"551.500\", \"1.213.090\", \"17.098.246\", \"2.973.190\", \"9.424.702\"];\nconst countries_per_capita = [\"11.075\", \"65.111\", \"10.118\", \"9.887\", \"3.823\", \"15.399\", \"16.264\", \"6.230\", \"11.516\", \"24.516\", \"41.030\", \"32.946\", \"29.961\", \"23.030\", \"45.175\", \"46.563\", \"41.760\", \"6.100\", \"11.162\", \"2.171\", \"10.098\"];\n\nconst country_data = {\n    \"BR\": {\n        \"territory\":\"8.515.767\",\n        \"per_capita\":\"15.642\",\n        \"population\":210147125\n    },\n    \"US\": {\n        \"territory\":\"9.147.590\",\n        \"per_capita\":\"69.375\",\n        \"population\":331449281\n    },\n    \"MX\": {\n        \"territory\":\"1.972.550\",\n        \"per_capita\":\"21.362\",\n        \"population\":126014024\n    },\n    \"AR\": {\n        \"territory\":\"2.780.400\",\n        \"per_capita\":\"22.997\",\n        \"population\":40117096\n    },\n    \"BO\": {\n        \"territory\":\"1.098.581\",\n        \"per_capita\":\"7.790\",\n        \"population\":11428245\n    },\n    \"CL\": {\n        \"territory\":\"756.096.3\",\n        \"per_capita\":\"23.455\",\n        \"population\":17574003\n    },\n    \"CO\": {\n        \"territory\":\"1.141.748\",\n        \"per_capita\":\"16.264\",\n        \"population\":50372424\n    },\n    \"EC\": {\n        \"territory\":\"283.561\",\n        \"per_capita\":\"11.701\",\n        \"population\":17300000\n    },\n    \"PY\": {\n        \"territory\":\"406.796\",\n        \"per_capita\":\"15.030\",\n        \"population\":7359000\n    },\n    \"PE\": {\n        \"territory\":\"1.285.216\",\n        \"per_capita\":\"11.516\",\n        \"population\":31237385\n    },\n    \"UY\": {\n        \"territory\":\"176.215\",\n        \"per_capita\":\"24.516\",\n        \"population\":3518552\n    },\n    \"VE\": {\n        \"territory\":\"916.445\",\n        \"per_capita\":\"5.273\",\n        \"population\":28887118\n    },\n    \"GB\": {\n        \"territory\":\"242.495\",\n        \"per_capita\":\"48.693\",\n        \"population\":63182178\n    },\n    \"IT\": {\n        \"territory\":\"301.340\",\n        \"per_capita\":\"43.376\",\n        \"population\":59433744\n    },\n    \"ES\": {\n        \"territory\":\"505.990\",\n        \"per_capita\":\"41.736\",\n        \"population\":47450795\n    },\n    \"PT\": {\n        \"territory\":\"92.212\",\n        \"per_capita\":\"39.544\",\n        \"population\":10344802\n    },\n    \"BE\": {\n        \"territory\":\"30.689\",\n        \"per_capita\":\"50.114\",\n        \"population\":11492641\n    },\n    \"DE\": {\n        \"territory\":\"357.022\",\n        \"per_capita\":\"56.956\",\n        \"population\":83190556\n    },\n    \"FR\": {\n        \"territory\":\"640.679\",\n        \"per_capita\":\"49.492\",\n        \"population\":67413000\n    },\n    \"ZA\": {\n        \"territory\":\"1.221.037\",\n        \"per_capita\":\"14.239\",\n        \"population\":51770560\n    },\n    \"RU\": {\n        \"territory\":\"17.098.246\",\n        \"per_capita\":\"29.485\",\n        \"population\":146171015\n    },\n    \"IN\": {\n        \"territory\":\"3.287.263\",\n        \"per_capita\":\"8.079\",\n        \"population\":1210854977\n    },\n    \"CN\": {\n        \"territory\":\"9.596.961\",\n        \"per_capita\":\"20.667\",\n        \"population\":1411778724\n    }\n}\n\nvar countries_arr = [];\n\nvar d_rate,r_rate,c_million,confirmed,recovered,critical,deaths,population,percent;\n\nvar countriesLen = countries_code.length;\n\nvar covidLen = msg.payload.data.length;\n\nvar vaccinated_arr = flow.get('vaccinated_arr') || {};\nvar vaccines_arr = flow.get('vaccines_arr') || {};\n\nvar vaccinated,vaccines;\nvar country_code;\n\nfor (n = 0; n <countriesLen; n++) {\n    \n    for (i = 0; i < covidLen; i++) {\n        if(msg.payload.data[i].code == countries_code[n]) {\n            country_code = countries_code[n];\n\n            population = country_data[country_code].population;\n            deaths = msg.payload.data[i].latest_data.deaths;\n            percent = (deaths / population) * 100;\n            msg.payload.data[i].percent = percent.toPrecision(2);\n            \n            msg.payload.data[i].population = population.toLocaleString('pt-BR');\n\n            msg.payload.data[i].territory = country_data[country_code].territory;\n            msg.payload.data[i].per_capita = country_data[country_code].per_capita;\n\n            msg.payload.data[i].latest_data.deaths = msg.payload.data[i].latest_data.deaths.toLocaleString('pt-BR');\n            d_rate = msg.payload.data[i].latest_data.calculated.death_rate;\n            msg.payload.data[i].latest_data.calculated.death_rate = d_rate.toPrecision(4);\n            r_rate = msg.payload.data[i].latest_data.calculated.recovery_rate;\n            msg.payload.data[i].latest_data.calculated.recovery_rate = r_rate.toPrecision(4);\n            c_million = msg.payload.data[i].latest_data.calculated.cases_per_million_population;\n            msg.payload.data[i].latest_data.calculated.cases_per_million_population = c_million.toLocaleString('pt-BR');\n            confirmed = msg.payload.data[i].latest_data.confirmed;\n            msg.payload.data[i].latest_data.confirmed = confirmed.toLocaleString('pt-BR');\n            recovered = msg.payload.data[i].latest_data.recovered;\n            msg.payload.data[i].latest_data.recovered = recovered.toLocaleString('pt-BR');\n            critical = msg.payload.data[i].latest_data.critical;\n            msg.payload.data[i].latest_data.critical = critical.toLocaleString('pt-BR');\n\n            if(vaccinated_arr[n]===undefined) {\n                vaccinated = 0;\n            } else {\n                vaccinated = vaccinated_arr[n];\n            }\n\n            if(vaccines_arr[n]===undefined) {\n                vaccines = 0;\n            } else {\n                vaccines = vaccines_arr[n];\n            }\n            \n            vaccinated = (vaccinated / population) * 100;\n\n            msg.payload.data[i].vaccinated = vaccinated.toPrecision(3);\n            msg.payload.data[i].vaccines = vaccines.toLocaleString('pt-BR');\n            \n            countries_arr.push(JSON.parse(JSON.stringify(msg.payload.data[i])));\n        }\n    }\n}\n\nmsg.payload = countries_arr;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":700,"y":100,"wires":[["ba7a1fef.62ec3","981ebf4a.016de"]]},{"id":"981ebf4a.016de","type":"ui_template","z":"1b35239f.67dcdc","group":"ac573138.1cb5b","name":"Covid-19 - Estatísticas","order":1,"width":"26","height":"16","format":"<style>\ntable {\n  border-collapse: collapse;\n  width: 100%;\n}\n\nth, td {\n  padding: 8px;\n  text-align: left;\n  border-bottom: 1px solid #ddd;\n}\n\ntr:nth-child(even) {background-color: #e6ffcc;}\n\ntr:nth-child(odd) {background-color: #bfff80;}\n\nth {\n  background-color: black;\n  color: white;\n  text-align: center;\n}\n\n}\n</style>\n<center>\n    <h2>Informações COVID-19</h2>\n    <br>\n    <h4>Estes dados são obtidos dos sites <a href=\"https://about-corona.net\" target=\"_blank\">About Corona</a>, <a href=\"https://covid19.who.int/info/\" target=\"_blank\">WHO (OMS)</a> e <a href=\"https://en.wikipedia.org/wiki/Brazil\" target=\"_blank\">Wikipedia</a></h4>\n    <br>\n</center>\n<table id=\"table\">\n <tr>\n <th>Pais</th>\n <th>Território km2</th>\n <th>Per Capita US$</th>\n <th>Habitantes</th>\n <th>Mortes</th>\n <th>% Populacional</th>\n <th>Confirmados</th>\n <th>Recuperados</th>\n <th>Críticos</th>\n <th>Taxa de mortalidade</th>\n <th>Taxa de recuperados</th>\n <th>Casos por milhão</th>\n <th>Doses aplicadas</th>\n <th>% vacinados</th>\n </tr>\n <tbody>\n <tr ng-repeat=\"row in msg.payload\">\n <td>{{::row.name}}</td>\n <td>{{::row.territory}}</td>\n <td>{{::row.per_capita}}</td>\n <td>{{::row.population}}</td>\n <td>{{::row.latest_data.deaths}}</td>\n <td>{{::row.percent}}</td>\n <td>{{::row.latest_data.confirmed}}</td>\n <td>{{::row.latest_data.recovered}}</td>\n <td>{{::row.latest_data.critical}}</td>\n <td>{{::row.latest_data.calculated.death_rate}}</td>\n <td>{{::row.latest_data.calculated.recovery_rate}}</td>\n <td>{{::row.latest_data.calculated.cases_per_million_population}}</td>\n <td>{{::row.vaccines}}</td>\n <td>{{::row.vaccinated}}</td>\n </tr>\n </tbody>\n</table>\n<p><br><br><b>Coleta feita em :</b> {{msg.cur_date}}</p>\n<p><br><a href=\"https://countrymeters.info/pt/South_America\" target=\"_blank\">Dados sobre América do Sul</a></p>","storeOutMessages":false,"fwdInMessages":true,"templateScope":"local","x":880,"y":180,"wires":[[]]},{"id":"a83a28ee.7e39b8","type":"http request","z":"1b35239f.67dcdc","name":"","method":"GET","ret":"bin","paytoqs":"ignore","url":"https://covid19.who.int/who-data/vaccination-data.csv","tls":"","persist":false,"proxy":"","authType":"","x":330,"y":340,"wires":[["52c552ca.e6991c"]]},{"id":"52c552ca.e6991c","type":"file","z":"1b35239f.67dcdc","name":"","filename":"/home/pi/who_vaccination.csv.gz","appendNewline":false,"createDir":false,"overwriteFile":"true","encoding":"none","x":320,"y":420,"wires":[["f353a813.660b08"]]},{"id":"f353a813.660b08","type":"exec","z":"1b35239f.67dcdc","command":"/home/pi/who.sh","addpay":"","append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":600,"y":420,"wires":[[],[],[]]},{"id":"b73c490b.639498","type":"csv","z":"1b35239f.67dcdc","name":"","sep":",","hdrin":true,"hdrout":"none","multi":"mult","ret":"\\r\\n","temp":"","skip":"0","strings":true,"include_empty_strings":"","include_null_values":"","x":290,"y":160,"wires":[["3ba823a8.2337dc"]]},{"id":"5f3b6ebb.187e5","type":"file in","z":"1b35239f.67dcdc","name":"","filename":"/home/pi/who_vaccination.csv","format":"utf8","chunk":false,"sendError":false,"encoding":"none","x":510,"y":240,"wires":[["b73c490b.639498"]]},{"id":"3ba823a8.2337dc","type":"function","z":"1b35239f.67dcdc","name":"Dados OMS / WHO","func":"//\n// Site OMS utiliza ISO3 para identificar os paises\n//\n// A ordem dos paises deve ser a mesma ordem da coleta do site About Corona\n//\n\nvar countries_iso3 = [\"BRA\", \"USA\", \"MEX\", \"ARG\", \"BOL\", \"CHL\", \"COL\", \"ECU\", \"PRY\", \"PER\", \"URY\", \"VEN\", \"GBR\", \"ITA\", \"ESP\", \"PRT\", \"BEL\", \"DEU\", \"FRA\", \"ZAF\", \"RUS\", \"IND\", \"CHN\"];\n\nvar vaccinated_arr = [];\nvar vaccinated;\n\nvar vaccines_arr = [];\nvar vaccines;\n\nvar countriesLen = countries_iso3.length;\n\nvar covidLen = msg.payload.length;\n\nfor (n = 0; n <countriesLen; n++) {\n    \n    for (i = 0; i < covidLen; i++) {\n        if(msg.payload[i].ISO3 == countries_iso3[n]) {\n\n            vaccinated = msg.payload[i].PERSONS_VACCINATED_1PLUS_DOSE;\n            vaccines = msg.payload[i].TOTAL_VACCINATIONS;\n            \n            if(vaccinated === undefined) {\n                vaccinated = 0;\n            }\n\n            if(vaccines === undefined) {\n                vaccines = 0;\n            }\n\n            vaccinated_arr.push(vaccinated);\n            vaccines_arr.push(vaccines);\n        }\n    }\n}\n\nflow.set('vaccinated_arr',vaccinated_arr);\nflow.set('vaccines_arr',vaccines_arr);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":470,"y":160,"wires":[["ffb139b8.592478"]]},{"id":"f7e44017.8c1f2","type":"inject","z":"1b35239f.67dcdc","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":120,"y":300,"wires":[["a83a28ee.7e39b8","344d13a7.c349dc"]]},{"id":"344d13a7.c349dc","type":"delay","z":"1b35239f.67dcdc","name":"","pauseType":"delay","timeout":"8","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":300,"y":280,"wires":[["5f3b6ebb.187e5"]]},{"id":"cad7a71a.ef5328","type":"comment","z":"1b35239f.67dcdc","name":"Estatísticas COVID-19 - Versão 4","info":"Nesta versão temos o percentual de vacinados e a indormação é obtidia do site OMS ( https://covid19.who.int/info/ )\nForam incluídos os principais países da América do Sul.\nAs informações sobre área do país, renda per capita e população estão na mesma arrya JSON.\nIncluído link sobre dados em tempo real da America do Sul.","x":170,"y":40,"wires":[]},{"id":"9fe3cedb.7b7a7","type":"inject","z":"1b35239f.67dcdc","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"10 21 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":340,"wires":[["a83a28ee.7e39b8"]]},{"id":"ac573138.1cb5b","type":"ui_group","name":"COVID-19","tab":"42287a7d.74e004","order":2,"disp":true,"width":"26","collapse":true},{"id":"42287a7d.74e004","type":"ui_tab","name":"COVID","icon":"dashboard","order":10,"disabled":false,"hidden":false}]

Assuntos relacionados :

Node-RED – apresentação


Image by Pete Linforth from Pixabay

Ricardo Jorge porRicardo Jorge

IoT e os dados dos sensores e do CLP

Neste artigo sobre IoT e os dados dos sensores e do CLP, abordaremos o uso adequado destas duas fontes de dados, para obtermos um conjunto poderoso de informações sobre nosso ambiente em operação.

Também poderemos perceber que existem dois caminhos possíveis para uma implementação IoT, sendo um a partir dos dados já existentes, sendo coletados pelo CLP, e os dados complementares, que serão capturados por sensores específicos.

Quando se trata de coletar dados para IIoT, devemos focar na qualidade e também na quantidade.

Necessitamos ter dados que permitam a análise e a tomada de decisões tanto no curto, como também no longo prazo.

Deep Data versus Big Data

Basta pesquisar sobre IIoT e você encontrará muitas informações sobre a utilidade de Big Data e análise preditiva.

De acordo com um artigo da Forbes, “Embora o volume, a velocidade e a variedade que o Big Data oferece possam sem dúvida revelar efeitos importantes que escapam ao olho humano e aos métodos tradicionais de pesquisa empírica, essa é simplesmente a primeira etapa no processo de criação de valiosos insights que derivam de intervenções baseadas em evidências.

Prever resultados é útil, mas explicá-los e compreender suas causas, é muito mais valioso, tanto de uma perspectiva teórica quanto prática.”

O autor, neste caso, estava se referindo aos processos de recursos humanos (RH) em sua obra, mas suas afirmações são tão válidas para o chão de fábrica quanto para o departamento de seleção e recrutamento.

Big Data consiste em capturar as vastas quantidades de dados que já estão disponíveis e analisá-los.

Em outras palavras, olhar para os dados de uma maneira diferente.

Muitos dos dados serão úteis, mas alguns não, e isto também se aplica aos resultados.

Enquanto isto, Deep Data levam essa análise a um nível mais granular.

Ao eliminar dados que não são relevantes para um determinado curso de investigação e focar em fluxos, as tendências preditivas que resultam da análise de dados profundos ( Deep Data ) tendem a ser mais precisas no geral.

Dados dos sensores versus Dados do CLP

Os dados dos sensores, são todos os dados de um sensor específico em uma máquina, considerados dentro de um período de tempo designado.

O sensor é projetado para monitorar algo específico, como uma vibração, que pode dizer ao operador que a máquina está ligada ou desligada.

Esses dados podem ou não ser significativos quando revisados ​​ou analisados.

Um CLP é capaz de extrair uma grande quantidade de tipos de dados que, juntamente com os dados do sensor, fornecem uma imagem mais completa do que está acontecendo em qualquer máquina.

Este CLP pode monitorar entradas e saídas de e para uma máquina e pode tomar decisões lógicas quando necessário, com base na programação.

Por que utilizar os dois conjuntos de dados é o ideal

A chave para análises e resultados de alta qualidade é ser capaz de ter uma plataforma que possa capturar dados profundos do CLP e também os dados dos sensores, que monitoram itens mais específicos que podem não estar disponíveis através do CLP.

Por exemplo, como observado acima, embora um sensor possa fornecer os limites de vibração em uma determinada máquina ou parte de uma máquina, os dados do CLP dessa mesma máquina, podem incluir parâmetros para sinalizar que uma falha está prestes a ocorrer na produção.

Com os dados do CLP, vem a capacidade de controlar as operações, incluindo a sequência de atividades em que uma máquina pode estar envolvida, o correto tempo para certas tarefas ocorrerem e assim por diante.

Quando os dados obtidos pelo CLP, mostram que um desses elementos programados está operando de maneira inadequada, o operador pode responder mais rapidamente do que se tivesse que investigar manualmente um problema de forma isolada.

A lógica interna ao CLP pode ser programada para garantir que os dados retornados correspondam ao estado desejado e que a máquina esteja funcionando em um nível ideal.

Isso gera uma informação mais precisa, do que apenas saber se uma máquina está vibrando ou não.

Ter os dois conjuntos de dados analisados ​​e entregues ao usuário, fornece muito mais informações do que os sensores por conta própria, permitindo ao operador a flexibilidade de coletar os dados necessários em tempo hábil para evitar paralisações dispendiosas e problemas de manutenção.

Em vez disso, o tempo de inatividade planejado e a manutenção preditiva proativa podem ocorrer, aumentando a eficiência e melhorando os resultados financeiros.

Conclusão

Existe mais de uma abordagem e metodologia para implementação de IoT / IIoT em sua empresa e para seu negócio.

Conforme o estágio no qual você esteja, ou até mesmo o nível de investimento possível e desejável, uma abordagem será melhor do que outra.

Caso já tenha CLPs e inversores instalados e queria iniciar rapidamente e com um investimento mínimo, uma opção é fazer o acesso aos dados já existentes nestes dispositivos. Isto será útil para validar seus conceitos e obter as métricas iniciais para um projeto maior e melhor definido.

Qualquer que seja o caminho adotado, o uso de IoT trará, com os devidos cuidados, os resultados esperados.


Artigos relacionados :

Modbus e Profibus os protocolos da indústria

Indústria 4.0 e a Internet das Coisas Industrial – IIoT

Indústria 4.0 – Introdução


Este artigo foi baseado neste link.


Image by Gerd Altmann from Pixabay
Ricardo Jorge porRicardo Jorge

IoT o que fazer após a instalação?

Neste artigo sobre IoT o que fazer após a instalação?, serão abordados os tópicos básicos que devem ser avaliados por quem deseja ter bons resultados através da implementação de IoT.

Inúmeros são os artigos falando sobre a importância e os benefícios de IoT, mas pouco é comentado sobre o que deve ser feito após a implementação de uma solução IoT e principalmente o que deve ser preparado antes da implementação, para que tudo faça sentido e traga os resultados esperados.

IoT está relacionado com sensores e a obtenção dos dados sobre o ambiente onde estes sensores estão ou serão instalados.

De posse destes dados e com as metodologias e ferramentas adequadas, a tomada de decisão será facilitada, ampliada e melhorada.

Leia mais sobre a importância dos sensores, neste outro artigo IoT e os dados dos sensores e do CLP.

É claro que existem dispositivos IoT associados a atuadores, mas os dados são provenientes da quantidade e da qualidade dos sensores existentes em seu ambiente.

Quando falamos sobre metodologia, mesmo algo simples como 5W2H pode ser um excelente ponto de partida.

Não basta acreditar nas promessas que a tecnologia IoT trará para você ou para seu negócio.

Você precisa definir critérios para o antes e o pós implementação.

Você tomaria uma decisão importante, a partir de uma única informação?

Usando 5W2H, podemos definir alguns pontos básicos, como :

  • Who? (Quem?)
    • será o fornecedor e o responsável pela implementação
    • fará a operação deste sistema em minha empresa
  • What? (O quê?)
    • devo monitorar e automatizar em meu ambiente
  • Where? (Onde?)
    • no meu ambiente, devo iniciar a implementação de IoT
    • Você já tem CLPs e inversores que podem ser usados ?
  • When? (Quando?)
    • desejo ter os primeiros resultados desta implementação
  • Why? (Por que?)
    • preciso implementar IoT em meu ambiente
  • How? (Como?)
    • Serão implementados os sensores em meu ambiente
      • Posso utilizar os CLPs existentes
      • Devo instalar sensores “do zero”
    • Treinar minha Equipe e integrar com meu ERP
    • a implementação trará os resultados desejados
    • será feita a gestão de todo o ecossistema de IoT em meu ambiente
  • How Much?(Quanto?)
    • Qual será o ROI e o TCO desta implementação

Na lista acima, temos alguns pontos de partida para nosso estudo, mas estes pontos devem ser ajustados para cada necessidade específica.

time-money

Decisão deveria estar associada a informação!

Para ilustrar a importância dos sensores e, através de uma rápida pesquisa pela Internet, podemos ver que um veículo convencional tem entre 60 a 100 sensores.

Enquanto isso, uma aeronave conta com aproximadamente 50.000 sensores e coleta em média 2.5 terabytes de dados por dia.

Quando implementamos IoT, a coleta de dados será iniciada!

Sendo assim, o tratamento e a análise destes dados, precisam estar definidos desde o início da implementação, sob pena do processo ficar incompleto e não trazer os resultados esperados e possíveis de serem atingidos.

IoT tem total relação com o negócio e com a análise dos dados obtidos e não só com tecnologia, como muitas vezes é visto e divulgado !

Como podemos ver, é preciso estar preparado para coletar e salvar os dados provenientes das várias fontes ( sensores / CLP ), pois eles serão usados para nosso sistema de tomada de decisão.

Em uma fase posterior a coleta, estes dados serão tratados por algum processo de Big Data e serão usados para o controle dos atuadores do ambiente e, melhorando a gestão dos processos produtivos.

Posteriormente, os dados serão integrados com o ERP da empresa, para melhorar a tomada de decisão já no nível do negócio.

E você? Já definiu o que fazer, após a instalação de um sistema IoT em sua empresa?

Deixe seus comentários aqui em nosso Blog.


Artigos relacionados :

Séries históricas e IoT – conheça planeje e decida

IoT – segurança e integridade dos dados

IoT e os dados dos sensores e do CLP

Modbus e Profibus os protocolos da indústria

Como desenvolver vender e ter sucesso com IoT


Image by methodshop from Pixabay
Image by Peggy und Marco Lachmann-Anke from Pixabay
Ricardo Jorge porRicardo Jorge

Séries históricas e IoT – conheça planeje e decida

O artigo Séries históricas e IoT – conheça planeje e decida fará uma introdução sobre a importânica do armazenamento adequado, dos dados provenientes dos coletores IoT.

Praticamente todo dispositivo IoT faz alguma coleta baseada em tempo, que pode ser da ordem de segundos, minutos ou horas.

Tudo depende do processo sendo monitorado e das especificações do hardware do dispositivo IoT além da forma de comunicação deste dispositivo com o ponto central para onde as coletas serão enviadas e armazenadas.

Devido a esta característica de coleta por tempo, nada melhor do que utilizarmos um sistema ( Banco de Dados ), que salve e recupere os dados de uma maneira fácil, simples e rápida, baseada no momento da coleta.

Banco de Dados de Série Histórica

Um Banco de Dados de Série Histórica, também denominado Banco de Dados de Série Temporal, é um sistema desenvolvido para um armazenamento eficiente de dados que utilizam uma referência de tempo, para sua identificação.

Esta referência de tempo é conhecida como timestamp, e costuma ser uma contagem em segundos ou até em milisegundos, à partir de uma data conhecida e / ou pré determinada.

Por exemplo, nos sistemas Linux, BSD e Unix, é a contagem de segundos desde 01/01/1970 às 00:00:00 horas UTC.

Os Bancos de Dados de Série Temporal também são conhecidos como NoSQL, embora alguns destes Bancos tenham capacidade de pesquisa através de sentenças SQL padrão.

Devido a velocidade com a qual os dados coletados podem chegar ao ponto de armazenamento, estes Bancos de Dados de Série Temporal precisam lidar com grandes volumes de dados e devem ter a capacidade de serem escaláveis para adequar suas necessidades de armazenamento e performance, conforme o ambiente necessitar.

Exemplos de uso

Podemos citar 2 exemplos práticos de uso do armazenamento de coletas IoT em bancos de Dados de Série Histórica:

  • Nosso coletor de telemetria para compressores de ar
  • O atual projeto do monitor Off-Grid

No caso do coletor para telemetria, os dados são enviados contendo informações como :

  • Timestamp da coleta
  • Temperatura do compressor
  • Tempo ativo do compressor
  • Número de partidas do compressor

Já para o protótipo do monitor Off-Grid, temos :

  • Timestamp da coleta
  • Tensão do banco de de baterias
  • Temperatura do ambiente onde estão as baterias
  • Tempo de carga da(s) bateria(s)
  • Tempo de descarga da(s) bateria(s)
  • Watts em uso ( atual)
  • Corrente ( atual)

Existem outras coletas, mas as mostradas acima são apenas um exemplo.

Um ponto a ser destacado nas coletas baseadas em tempo, é que através de pesquisas e / ou de gráficos, fica muito fácil perceber a relação entre os eventos coletados.

Isto é normalmente utilizado no que chamamos de “causa raiz”.

Com o relacionamento dos eventos, sincronizados pelo momento da coleta ( “timestamp” ) conseguimos perceber o que ocorreu antes ( “causa” ) e qual efeito gerou no sistema / ambiente.

Séries históricas e IoT

Através desta introdução, é possível notar a importãncia do correto armazenamento dos dados coletados.

Com as coletas, será possível conhecer melhor o ambiente monitorado, fazendo uma gestão adequada e tomando as ações necessárias nos casos onde existam exceções.

Parte destas ações, poderão ser automatizadas usando Inteligência Artifical e Análise dos dados ( Analytics ), permitidindo que os atuadores IoT sejam acionados para corrigir os processos em tempo real.

Observação : um dispositivo IoT pode ser composto por um coletor e um atuador, sendo o coletor responsável por coletar e enviar os dados e o atuador, responsável por acionar algum processo ( abrir / fechar uma válvula, ligar / desligar algo, etc. ).

E você, como faz a gestão de seus coletores IoT ?

Referências :

Banco de Dados Temporais

Artigos relacionados :

arduino – Monitor para energia solar e eólica – Parte 2

IoT – segurança e integridade dos dados

STEM e a importância para sua carreira

Indústria 4.0 e a Internet das Coisas Industrial – IIoT



Image by 🎄Merry Christmas 🎄 from Pixabay