User-Defined filter
Hiermee maakt u een aangepast eindig of oneindig impulsreactiefilter
Categorie: Gegevenstransformatie/filter
Notitie
Van toepassing op: alleen Machine Learning Studio (klassiek)
Vergelijkbare modules voor slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.
Moduleoverzicht
In dit artikel wordt beschreven hoe u de door de gebruiker gedefinieerde filtermodule in Machine Learning Studio (klassiek) gebruikt om een aangepast filter te definiëren met behulp van een FIR-filter (eindige impulsreactie) of een IIR-filter (Infinite Impuls Response) met coëfficiënten die u opgeeft.
Een filter is een overdrachtsfunctie die een invoersignaal gebruikt en een uitvoersignaal maakt op basis van de filterkenmerken. Zie Filter voor meer algemene informatie over de gebruiker van filters in digitale signaalverwerking. Deze module is met name handig voor het toepassen van een set eerder afgeleide filtercoëfficiënten op uw gegevens.
Nadat u een filter hebt gedefinieerd dat aan uw behoeften voldoet, kunt u het filter toepassen op gegevens door een gegevensset en het filter te verbinden met de module Filter toepassen .
Tip
Wilt u gegevens uit een gegevensset filteren of ontbrekende waarden verwijderen? Gebruik in plaats daarvan deze modules:
- Ontbrekende gegevens opschonen: gebruik deze module om ontbrekende waarden te verwijderen of ontbrekende waarden te vervangen door tijdelijke aanduidingen.
- Partitie en voorbeeld: Gebruik deze module om uw gegevensset te delen of te filteren op criteria zoals een datumbereik, een specifieke waarde of reguliere expressies.
- Clipwaarden: Gebruik deze module om een bereik in te stellen en alleen de waarden binnen dat bereik te behouden.
User-Defined-filter configureren
Voeg de door de gebruiker gedefinieerde filtermodule toe aan uw experiment in Studio (klassiek). U vindt deze module onder Gegevenstransformatie in de categorie Filter .
Kies in het deelvenster Eigenschappen een type filter: FIR-filter of IIR-filter.
Geef de coëfficiënten op die in het filter moeten worden toegepast. De vereisten voor de coëfficiënten verschillen, afhankelijk van of u een FIR-filter of een IIR-filter kiest.
Voor een FIR-filter geeft u een vector van feed-forward-coëfficiënten op. De lengte van de vector bepaalt de volgorde van het filter. Een FIR-filter is effectief een zwevend gemiddelde, dus de configuratiewaarden passen een zwevend gemiddelde toe om een gegevensreeks te filteren.
Voor een IIR-filter past u aangepaste feed-forward- en feed-achterwaartse coëfficiënten toe. Zie de sectie Voorbeelden voor enkele tips.
Verbinding maken het filter om filter toe te passen en een gegevensset te verbinden.
Gebruik de kolomkiezer om op te geven welke kolommen van de gegevensset waarop het filter moet worden toegepast. De module Filter toepassen gebruikt standaard het filter voor alle geselecteerde numerieke kolommen.
Voer het experiment uit.
De opgegeven transformaties worden alleen toegepast op de geselecteerde numerieke kolommen wanneer u het experiment uitvoert met filter toepassen.
Voorbeelden
Zie de Azure AI Gallery voor meer voorbeelden van hoe filters worden gebruikt in machine learning:
- Filters: demonstreert alle filtertypen. In het voorbeeld wordt een gegevensset met golfvormen gebruikt om de effecten van de verschillende filters gemakkelijker te illustreren.
FIR-filtervoorbeeld: Exponentieel gewogen zwevend gemiddelde
Voor een exponentieel gewogen zwevend gemiddelde zijn alle coëfficiënten kleiner dan één en is de som van alle coëfficiënten gelijk aan één. Daarom is de variantie van het gewogen gemiddelde altijd kleiner dan de invoerwaarden.
Voor een FIR-filter om bijvoorbeeld een exponentieel gewogen zwevend gemiddelde (WMA) te benaderen, geeft u een door komma's gescheiden lijst met coëfficiënten op voor de waarde voor de parameter feed-forward:
0.01818182, 0.03636364, 0.05454545, 0.07272727, 0.09090909, 0.10909091, 0.12727273, 0.14545455, 0.16363636, 0.18181818
FIR-filtervoorbeeld: Exponentieel gewogen zwevend gemiddelde (Deslauriers-Dubuc interpolatie)
Dit FIR-filter benadert een driehoekig gewogen zwevend gemiddelde (WMA). U definieert de coëfficiënten door een door komma's gescheiden reeks waarden op te geven voor de feed-forward-parameters, zoals:
0.0625, 0.0625, 0.2500, 0.3750, 0.2500, 0.0625
De waarden die in dit aangepaste FIR-filter worden gebruikt, vertegenwoordigen een vector van feed-forward-coëfficiënten die zijn verkregen met behulp van de Deslauriers-Dubuc methode voor eindige sequentiëring. Zie Dubuc-Deslauriers Subdivision for Finite Sequences and Interpolation Wavelets on an Interval voor meer informatie.
Voorbeeld van IIR-filter: Notch-filter
Een goed voorbeeld van een toepassing voor een door de gebruiker gedefinieerd IIR-filter is het definiëren van een notchfilter, ook wel een bandstopfilter genoemd. Het gewenste notchfilter verzwakt een -3dB-afwijzingsband, fb, gecentreerd op een notchfrequentie, fn
met een steekproeffrequentie, fs
.
In dit geval kan het filter voor digitale notch worden vertegenwoordigd door de volgende formule:
In deze formule wordt ervan uitgegaan dat:
Uit deze formule kunnen we de feed-forward-coëfficiënt ophalen:
De feed-achterwaartse coëfficiënten zijn als volgt:
Voorbeeld van IIR-filter: Notchfilter 2
In het volgende voorbeeld ziet u een inkepingsfilter met een notchfrequentie van fn =1250 Hz
en een -3 dB
afwijzingsband van fb =100 Hz
, met steekproeffrequentie van fs=10 kHz
.
Met behulp van de volgende formule krijgt u het volgendea2 = 0.93906244
:a1 = 1.3711242
Hieruit kunt u de volgende feed-forward (b) en feed-achterwaartse (a) coëfficiënten ophalen:
b= 1.9390624, -2.7422484, 1.9390624
a= 1, -1.3711242, 0.9390624
Moduleparameters
Name | Bereik | Type | Standaard | Beschrijving |
---|---|---|---|---|
Type filter | alle | Impulsresponse | Het type filter opgeven dat moet worden aangepast | |
voren | alle | Tekenreeks | 1\.0 | Typ een reeks feed-forward-coëfficiënten |
achteren | alle | Tekenreeks | 1\.0 | Typ een reeks feed-achterwaartse filtercoëfficiënten |
Uitvoer
Naam | Type | Beschrijving |
---|---|---|
Filter | IFilter-interface | Filter-implementatie |
Uitzonderingen
Uitzondering | Beschrijving |
---|---|
ParameterParsing | Er treedt een uitzondering op als een of meer parameters niet kunnen worden geparseerd of geconverteerd van het opgegeven type naar het type dat is vereist voor de doelmethode. |
Zie Machine Learning Foutcodes voor een lijst met fouten die specifiek zijn voor Studio-modules (klassiek).
Zie Machine Learning REST API-foutcodes voor een lijst met API-uitzonderingen.