Filtro definido pelo usuário
Cria um filtro de resposta de impulso finito ou infinito personalizado
Categoria: Transformação/Filtro de Dados
Observação
Aplica-se a: somente Machine Learning Studio (clássico)
Módulos semelhantes do tipo "arrastar e soltar" estão disponíveis no designer do Azure Machine Learning.
Visão geral do módulo
Este artigo descreve como usar o módulo Filtro Definido pelo Usuário no Machine Learning Studio (clássico), para definir um filtro personalizado usando um filtro FIR (resposta de impulso finito) ou um filtro de resposta de impulso infinito (IIR) com coeficientes especificados.
Um filtro é uma função de transferência que usa um sinal de entrada e cria um sinal de saída com base nas características do filtro. Para obter informações mais gerais sobre o usuário de filtros no processamento de sinal digital, consulte Filter. Esse módulo é particularmente útil para aplicar um conjunto de coeficientes de filtro derivados anteriormente aos seus dados.
Depois de definir um filtro que atenda às suas necessidades, você poderá aplicar o filtro aos dados conectando um conjunto de dados e o filtro ao módulo Aplicar Filtro .
Dica
Precisa filtrar dados de um conjunto de dados ou remover valores ausentes? Em vez disso, use estes módulos:
- Limpar Dados Ausentes: use este módulo para remover valores ausentes ou substituir valores ausentes por espaços reservados.
- Partição e exemplo: use este módulo para dividir ou filtrar seu conjunto de dados por critérios como um intervalo de datas, um valor específico ou expressões regulares.
- Valores de clipe: use este módulo para definir um intervalo e manter apenas os valores dentro desse intervalo.
Como configurar User-Defined Filtro
Adicione o módulo Filtro Definido pelo Usuário ao experimento no Studio (clássico). Você pode encontrar este módulo na Transformação de Dados, na categoria Filtro .
No painel Propriedades , escolha um tipo de filtro: filtro FIR ou filtro IIR.
Forneça os coeficientes a serem aplicados no filtro. Os requisitos para os coeficientes diferem dependendo se você escolher um filtro FIR ou um filtro IIR.
Para um filtro FIR, você especifica um vetor de coeficientes pré-alimentados. O comprimento do vetor determina a ordem do filtro. Um filtro FIR efetivamente é uma média móvel, os valores de configuração se aplicam a uma média móvel para filtrar uma sequência de dados.
Para um filtro IIR, aplique coeficientes de avanço e regressão do feed. Consulte a seção Exemplos para obter algumas dicas.
Conexão o filtro para aplicar filtro e conectar um conjunto de dados.
Use o seletor de coluna para especificar quais colunas do conjunto de dados ao qual o filtro deve ser aplicado. Por padrão, o módulo Aplicar Filtro usará o filtro para todas as colunas numéricas selecionadas.
Execute o experimento.
As transformações especificadas são aplicadas às colunas numéricas selecionadas somente quando você executa o experimento usando Aplicar Filtro.
Exemplos
Para obter mais exemplos de como os filtros são usados no aprendizado de máquina, consulte a Galeria de IA do Azure:
- Filtros: demonstra todos os tipos de filtro. O exemplo usa um conjunto de dados de forma de onda de engenharia para ilustrar mais facilmente os efeitos dos filtros diferentes.
Exemplo de filtro FIR: média móvel ponderada exponencial
Para obter uma média móvel ponderada exponencialmente, todos os coeficientes são inferiores a um e a soma de todos os coeficientes é igual a um. No entanto, a variância da média ponderada sempre será inferior aos valores de entrada.
Por exemplo, para um filtro FIR aproximar uma média móvel ponderada exponencialmente (WMA), forneça uma lista separada por vírgulas de coeficientes para o valor do parâmetro de avanço de feed:
0.01818182, 0.03636364, 0.05454545, 0.07272727, 0.09090909, 0.10909091, 0.12727273, 0.14545455, 0.16363636, 0.18181818
Exemplo de filtro FIR: média móvel ponderada exponencial (interpolação Deslauriers-Dubuc)
Esse filtro FIR aproxima uma média móvel (WMA) triangularmente ponderada. Você define os coeficientes fornecendo uma série separada por vírgulas de valores para os parâmetros de encaminhamento de feed, como estes:
0.0625, 0.0625, 0.2500, 0.3750, 0.2500, 0.0625
Os valores usados neste filtro FIR personalizado representam um vetor de coeficientes de avanço de feed obtidos usando o método Deslauriers-Dubuc de sequenciamento finito. Para obter mais informações, consulte a Subdivisão Dubuc-Deslauriers para sequências finitas e wavelets de interpolação em um intervalo.
Exemplo de filtro IIR: filtro de entalhe
Um bom exemplo de um aplicativo para um filtro IIR definido pelo usuário é definir um filtro de entalhe, também chamado de filtro de bandtop. O filtro de entalhe desejado atenua uma faixa de rejeição -3dB, fb, centralizada em uma frequência de entalhe, fn
com uma frequência de amostragem, fs
.
Nesse caso, o filtro de entalhe digital pode ser representado pela seguinte fórmula:
Essa fórmula pressupõe:
Nesta fórmula, podemos obter o coeficiente feed-forward:
Os coeficientes de feed-backward seriam os seguintes:
Exemplo de filtro IIR: filtro de entalhe 2
O exemplo a seguir mostra um filtro de entalhe com uma frequência de fn =1250 Hz
entalhe e uma -3 dB
faixa de rejeição de fb =100 Hz
, com frequência de amostragem de fs=10 kHz
.
Usando a fórmula a seguir, você obtém a2 = 0.93906244
e a1 = 1.3711242
:
A partir disso, você pode obter os seguintes coeficientes feed-forward (b) e feed-backward (a):
b= 1.9390624, -2.7422484, 1.9390624
a= 1, -1.3711242, 0.9390624
Parâmetros do módulo
Nome | Intervalo | Type | Padrão | Descrição |
---|---|---|---|---|
Tipo de filtro | any | ImpulseResponse | Especifique o tipo de filtro a ser personalizado | |
Encaminhar | any | String | "1.0" | Digite uma série de coeficientes de pré-alimentação |
Para Trás | any | String | "1.0" | Digite uma série de coeficientes de filtro de realimentação |
Saída
Nome | Tipo | DESCRIÇÃO |
---|---|---|
Filtrar | Interface IFilter | Implementação do filtro |
Exceções
Exceção | Descrição |
---|---|
ParameterParsing | Ocorrerá uma exceção se um ou mais parâmetros não puderem ser analisados ou convertidos do tipo especificado para o tipo exigido pelo método de destino. |
Para obter uma lista de erros específicos aos módulos do Studio (clássico), consulte Machine Learning códigos de erro.
Para obter uma lista de exceções de API, consulte Machine Learning códigos de erro da API REST.