Willkommen in Ajijic Lake Chapala Mexiko AccessLakeChapala ist ein interaktives Immobilienportal und Informationsleitfaden, der von Seebewohnern erstellt wurde, die die Gegend kennen und lieben. ALC ist eine Online-Boutique mit einer interaktiven Erfahrung mit jedem Artikel, den Sie lesen und zu Hause Sie sehen durch modernste Internet-Technologie. Wir nehmen Sie weiter als jede andere Website, die Sie je online gesehen haben, in eine echte, dynamische, inspirationsorientierte Umgebung mit vielen Informationen über den Bereich, den Originalinhalt und eine Kombination von Features, die die meisten Webseiten hinter sich lassen. Wir bieten Ihnen endlose Details für alle unsere Inhalte und Angebote über YouTube-Videos, Google Maps und Slideshows. Darüber hinaus finden Sie informative Blog-Posts, alles über das Leben in und Umzug nach Lake Chapala. Durch ALC werden Sie in der Lage sein, unsere hervorragende Auswahl an detaillierten Angeboten zu erkunden, die ultra-knackigen Videos zu sehen und sie mit Ihren Freunden über unsere Social Media Plugins zu teilen. Was hat Ajijic Mexiko zu bieten Der Lakeside Bereich ist ein einzigartiges Erlebnis. Während die Expat-Community in einigen mexikanischen Schauplätzen zu sich selbst hält, am Lakeside, ist die Gemeinschaft zusammenhängend und freundlich. Das 1955 gegründete LCS erleichtert den Übergang zum Leben in Mexiko mit Informationen über eine Fülle von Themen. Darüber hinaus ist es der Fokus für Aktivitäten aller Art. Seine umfangreiche Kreditbibliothek in englischer Sprache beinhaltet Talking Books und Filme auf DVD. Und seine Community Outreach-Programm, einschließlich Englisch, Computer-und Kunstunterricht für lokale Kinder, ermutigt Newcomer zu beteiligen. Zwei American Legion Posts, das Lakeside Little Theatre, Chorgruppen und Kirchen mit Gottesdiensten sorgen für einen reichhaltigen Lebensstil, auch wenn man kein Spanisch spricht. Darüber hinaus werden drei englischsprachige Zeitungen und Zeitschriften vor Ort veröffentlicht. Für diejenigen, die sich Zeit nehmen, Spanisch zu lernen, kann das Leben noch bereichernder sein. Golf, Tennis, Reiten, Shopping, Erkundung und Freiwilligenarbeit. Tagesausflüge zu alten Pyramiden, alpinen Dörfern, Handwerksstädten und Kolonialstädten. Weltklasse-Krankenhäuser mit modernster Ausstattung nur eine Stunde entfernt, zusammen mit modernen Einkaufszentren, großartige Küche Restaurants, Sams Club, Costco, Office Max und Home Depot Besuchen Sie unsere Bildergalerie Es ist wie kein anderer Ort in der Welt. Lebt im See Chapala für dich. Nur du kannst diese Frage beantworten. Aber Tausende von Baby Boomers entdecken, dass, durch Mexiko Ruhestand, ihre Dollar kauft mehr. In einer Umgebung des ewigen Frühlings, inmitten einer Kultur, die die angesammelte Weisheit jedes vergangenen Jahres schätzt, kann das Leben gut sein. Weiterlesen. Vermietungen sind bereit für Gäste, die Hauswirtschaft für einen Monat oder eine Saison einzurichten. Es gibt kurzfristige und langfristige Immobilien zur Verfügung, von gemütlichen Studio-Apartments zu gnädigen Ständen. Viele Häuser sind unmöbliert, während andere bereit für Sie zu bewegen. Möbliert sind oft mit High-Speed-Internet-Anschlüsse, Kabel-TV, Mikrowelle und Waschmaschine-Trockner für einen angenehmen, längeren Aufenthalt ausgestattet. Manche bieten sogar voll ausgestattete Küchen, Bettwäsche, Gärtner und Zimmermädchen. Entdecken Sie alle Ihre Optionen online, egal wo Sie sind. Weiterlesen. Hotels sind perfekt für einen Aufenthalt von mehreren Wochen. Von Full-Service-Hotels, gemütliche Bett amp Frühstück Gasthöfe zu Boutique-Hotels, youll finden Sie etwas für jedes Budget. Einige Unterkünfte bieten Haushalt-Einheiten von der Woche oder Monat. Freundliche Gastwirte freuen sich, Ihnen zu helfen, über die Chapala Ajijic Bereich, seine Dienstleistungen und Annehmlichkeiten zu lernen. Und außergewöhnliche kulinarische Erlebnisse erwarten Besucher und Bewohner. Leben, Ruhestand und Immobilien Leben in Mexiko ist eine Wahl für mehr und mehr Menschen aus dem Norden der Grenze. Ob Sie die Wintermonate im mexikanischen Sonnenschein verbringen oder das ganze Jahr über schönes Wetter genießen, finden Sie eine Vielzahl von Möglichkeiten. Ajijic ist ein ehemaliges Fischerdorf, ist die Heimat vieler Schriftsteller und Künstler und bietet ein lebendiges gesellschaftliches Leben 12 Monate im Jahr. Gelegen eine Stunde von Mexicos zweitgrößte Stadt, ist die Gegend ein Paradies für Rentner mit Aktivitäten in Hülle und Fülle in Englisch, ausgezeichnete Gesundheitsversorgung und allen Komfort von zu Hause. Mit einer durchschnittlichen ganzjährigen Temperatur von 68 Grad F (20 Grad C) ist das Leben hier nach draußen ausgerichtet, mit zentralen Patios, Berghochterrassen und gnädigen Gärten. Chapala Immobilien spiegeln eine Vielzahl von architektonischen Stilen, von gemütlichen Kolonialen bis hin zu hochmodernen Designs inspiriert von berühmten Architekten Luis Barragan, die Meisterwerke in der Gegend gebaut. In der gleichen Weise, Ajijic läuft die Skala von Studio-Wohnungen zu Luxus-Anwesen leben mit Vollzeit-Mitarbeiter, um sich um Ihre alle Bedürfnisse zu kümmern. Vermietungen gehören Racket Club Häuser und Golfplatz Häuser, die einen aktiven Lebensstil zu fördern. Weiterlesen. Unsere Kunden-Testimonials Ihre Website hat mir geholfen, eine Vorstellung von der Gegend, den Häusern, der Umgebung und sogar den Video-Touren zu bekommen. Sie haben mir jeden Schritt geholfen. TL Testing Interview Fragen 1. Was versteht man von einer ETL ETL steht für Extract, Transform und Load. Es ist ein wichtiges Konzept in Data Warehousing-Systemen. Extraktion steht für das Extrahieren von Daten aus verschiedenen Datenquellen wie Transaktionssystemen oder Anwendungen. Transformation steht für die Anwendung der Umrechnungsregeln auf Daten, so dass es für die analytische Berichterstattung geeignet ist. Der Ladevorgang beinhaltet das Verschieben der Daten in das Zielsystem, in der Regel ein Data Warehouse. 2. Erläutern Sie die 3-Schicht-Architektur eines ETL-Zyklus. Die drei Schichten, die an einem ETL-Zyklus beteiligt sind, sind minus Staging Layer minus Die Staging-Schicht wird verwendet, um die Daten zu speichern, die aus verschiedenen Quelldatensystemen extrahiert wurden. Data Integration Layer minus Die Integrationsschicht verwandelt die Daten aus der Staging-Ebene und verschiebt die Daten in eine Datenbank, in der die Daten in hierarchische Gruppen, oft als Dimensionen bezeichnet, angeordnet sind. Und in Tatsachen und aggregierte Tatsachen. Die Kombination von Fakten und Dimensionstabellen in einem DW-System wird als Schema bezeichnet. Access Layer minus Die Zugriffsschicht wird von Endbenutzern verwendet, um die Daten für das analytische Reporting abzurufen. 3. Was ist der Unterschied zwischen und ETL - und BI-Tools Ein ETL-Tool wird verwendet, um Daten aus verschiedenen Datenquellen zu extrahieren, die Daten zu transformieren und in ein DW-System zu laden. Im Gegensatz dazu wird ein BI-Tool verwendet, um interaktive und adhoc-Berichte für Endbenutzer, Dashboard für Senior Management, Datenvisualisierungen für monatliche, vierteljährliche und jährliche Vorstandssitzungen zu generieren. Die meisten gängigen ETL-Tools beinhalten minus SAP BO Data Services (BODS), Informatica, Microsoft SSIS, Oracle Data Integrator ODI, Talend Open Studio, Clover ETL Open Source usw. Die gängigsten BI Tools beinhalten minus SAP Business Objects, SAP Lumira, IBM Cognos , JasperSoft, Microsoft BI-Plattform, Tableau, Oracle Business Intelligence Enterprise Edition usw. 4. Was sind die beliebten ETL-Tools auf dem Markt Die beliebten ETL-Tools auf dem Markt sind minus Informatica minus Power Center IBM minus Websphere DataStage (früher bekannt As ascential dataStage SAP minus Business Objects Data Services BODS IBM minus Cognos Data Manager (früher bekannt als Cognos Decision Stream) Microsoft minus SQL Server Integration Services SSIS Oracle minus Data Integrator ODI (früher bekannt als Sunopsis Data Conductor) SAS minus Data Integration Studio Oracle Minus Warehouse Builder ABInitio Open Source Clover ETL 5. Warum brauchen wir einen Staging-Bereich in einem ETL-Prozess Staging-Bereich ist ein Zwischenbereich, der zwischen Datenquellen und Data Warehousedata Marts-Systemen sitzt. Staging-Bereiche können entworfen werden, um viele Vorteile zu bieten, aber die primären Motivationen für ihre Verwendung sind die Effizienz der ETL-Prozesse zu erhöhen, die Datenintegrität zu gewährleisten und die Datenqualität zu unterstützen. 6. Was ist der Unterschied zwischen Data Warehousing und Data Mining Data Warehousing ist ein breiteres Konzept im Vergleich zum Data Mining. Data Mining beinhaltet das Extrahieren von versteckten Informationen aus Daten und interpretiert es für zukünftige Vorhersagen. Im Gegensatz dazu umfasst Data Warehouse Operationen wie analytisches Reporting, um detaillierte Berichte und Ad-hoc-Berichte zu generieren, Informationsverarbeitung, um interaktive Dashboards und Diagramme zu generieren. 7. Was sind die strukturellen Unterschiede zwischen einem OLTP - und OLAP-System OLTP steht für Online Transactional Processing System, das häufig eine relationale Datenbank ist und verwendet wird, um Tag-zu-Tag-Transaktionen zu verwalten. OLAP steht für Online Analytical Processing System, das häufig ein multidimensionales System ist und auch als Data Warehouse bezeichnet wird. 8. Was ist eine Dimensionstabelle und wie unterscheidet sie sich von einer Fact-Tabelle Angenommen, ein Unternehmen verkauft seine Produkte an Kunden. Jeder Verkauf ist eine Tatsache, die innerhalb des Unternehmens stattfindet und die Faktentabelle wird verwendet, um diese Tatsachen aufzuzeichnen. Jede Faktentabelle speichert die Primärschlüssel, um die Faktentabelle an Dimensionstabellen und Maßnahmenfacts zu verknüpfen. Beispiel minus FactUnits 16. Was versteht man unter ETL-Testing ETL-Testing erfolgt, bevor Daten in ein Produktions-Data-Warehouse-System verschoben werden. Manchmal wird es auch als Tabellenausgleich oder Produktionsversöhnung bezeichnet. Das Hauptziel der ETL-Prüfung ist es, Datenfehler und allgemeine Fehler zu identifizieren und zu mildern, die vor der Verarbeitung von Daten für die analytische Berichterstattung auftreten. 17. Wie sich die ETL-Prüfung von der Datenbankprüfung unterscheidet Die folgende Tabelle erfasst die Hauptmerkmale von Datenbank - und ETL-Tests und deren Vergleich abzüglich Datenvalidierung und Integrationsdatenextraktion, Transformation und Laden für BI Reporting Transaktionssystem, bei denen Business Flow auftritt System mit historischen Daten und Nicht in Business-Flow-Umgebung Gemeinsame Tools im Markt QTP, Selen, etc. QuerySurge, Informatica, etc. Es wird verwendet, um Daten aus mehreren Anwendungen zu integrieren, Starke Auswirkungen. Es wird für Analytical Reporting, Information und Prognose verwendet. De-normalisierte Daten mit weniger Joins, mehr Indizes und Aggregationen. 18. Was sind die verschiedenen ETL-Test-Kategorien nach ihrer Funktion ETL-Tests können in die folgenden Kategorien auf der Grundlage ihrer Funktion abzüglich der Quelle zu Target Count Testing minus aufgeteilt werden. Es beinhaltet die Übereinstimmung der Anzahl der Datensätze im Quell - und Zielsystem. Source to Target Data Testing minus Es geht um die Datenvalidierung zwischen Quell - und Zielsystem. Es geht auch um Datenintegration und Schwellwertprüfung und doppelte Datenprüfung im Zielsystem. Data Mapping oder Transformation Testing minus Es bestätigt die Zuordnung von Objekten im Quell - und Zielsystem. Es geht auch um die Überprüfung der Funktionalität von Daten im Zielsystem. Endbenutzertests minus Es handelt sich um die Erstellung von Berichten für Endbenutzer, um zu überprüfen, ob Daten in Berichten nach Erwartung liegen. Es geht darum, Abweichungen in Berichten zu finden und die Daten im Zielsystem für die Berichtvalidierung zu überprüfen. Wiederholen von Minus Es geht um die Festsetzung der Fehler und Fehler in Daten im Zielsystem und die Durchführung der Berichte erneut für die Datenvalidierung. System Integration Testing minus Es geht um die Prüfung aller einzelnen Systeme, und später kombinieren das Ergebnis zu finden, ob es eine Abweichung. 19. Erklären Sie die wichtigsten Herausforderungen, denen Sie bei der Durchführung von ETL-Tests gegenüberstehen. Datenverlust während des ETL-Prozesses. Falsche, unvollständige oder doppelte Daten. DW-System enthält historische Daten, so dass Datenvolumen zu groß und sehr komplex ist, um ETL-Tests im Zielsystem durchzuführen. ETL-Tester sind in der Regel nicht mit Zugang zu sehen Job-Zeitpläne in ETL-Tool zur Verfügung gestellt. Sie haben kaum Zugriff auf BI Reporting Tools, um das endgültige Layout von Berichten und Daten in den Berichten zu sehen. Tough, um Testfälle zu erzeugen und zu bauen, da das Datenvolumen zu hoch und komplex ist. ETL-Tester hat normalerweise keine Vorstellung von den Anforderungen des Endbenutzers und den Geschäftsfluss der Informationen. ETL-Tests beinhalten verschiedene komplexe SQL-Konzepte zur Datenvalidierung im Zielsystem. Manchmal sind Tester nicht mit Quellen versehen, um die Mapping-Informationen zu erreichen. Unstable Testumgebung verzögert in der Entwicklung und prüft den Prozess. 20. Was sind Ihre Aufgaben als ETL-Tester Die Hauptaufgaben eines ETL-Testers sind Minus Überprüfen der Tabellen im Quellsystem abzüglich Zählprüfung, Datentypprüfung, Schlüssel fehlen nicht, doppelte Daten. Anwenden der Transformationslogik vor dem Laden der Daten: Datenschwellenvalidierung, surrogat ky check, etc. Daten Laden vom Stagingbereich zum Zielsystem: Aggregatwerte und berechnete Maße, Schlüsselfelder fehlen nicht, Count Check in Zieltabelle, BI Report Validierung, etc. Prüfung des ETL-Tools und seiner Komponenten, Testfälle minus Erstellen, Entwerfen und Ausführen von Testplänen, Testfällen, Test-ETL-Tool und dessen Funktion, Test DW-System usw. 21. Was versteht man unter dem Begriff Transformation A Transformation ist ein Satz von Regeln, die Daten generiert, modifiziert oder weitergibt. Transformation kann von zwei Typen minus Aktiv und Passiv sein. 22. Was versteht man unter aktiven und passiven Transformationen In einer aktiven Transformation kann die Anzahl der Zeilen, die als Ausgabe erstellt wird, geändert werden, sobald eine Transformation aufgetreten ist. Dies geschieht während einer passiven Transformation nicht. Die Information übergibt die gleiche Nummer, die ihr als Eingabe gegeben wird. 23. Was ist Partitionierung Erklären Sie verschiedene Arten der Partitionierung. Partitionierung ist, wenn Sie den Bereich des Datenspeichers in Teilen teilen. Es wird normalerweise getan, um die Leistung von Transaktionen zu verbessern. Wenn Ihr DW-System riesig ist, wird es Zeit, die Daten zu finden. Die Partitionierung von Speicherplatz ermöglicht es Ihnen, die Daten einfacher und schneller zu finden und zu analysieren. Abschied kann von zwei Arten minus Round-Robin Partitionierung und Hash Partitionierung. 24. Was ist der Unterschied zwischen Round-Robin-Partitionierung und Hash-Partitionierung Bei der Round-Robin-Partitionierung werden die Daten gleichmäßig auf alle Partitionen verteilt, so dass die Anzahl der Zeilen in jeder Partition relativ gleich ist. Hash-Partitionierung ist, wenn der Server eine Hash-Funktion verwendet, um Partitionstasten zu erstellen, um die Daten zu gruppieren. 25. Erklären Sie die Begriffe minus mapplet, session, mapping, workflow minus in einem ETL-Prozess Ein Mapplet definiert die Transformationsregeln. Sessions werden definiert, um die Daten anzuweisen, wenn sie von der Quelle zum Zielsystem verschoben werden. Ein Workflow ist ein Satz von Anweisungen, die den Server bei der Ausführung von Aufgaben anweisen. Mapping ist die Bewegung von Daten von der Quelle zum Ziel. 26. Was ist Lookup-Transformation und wann wird es verwendet. Lookup-Transformation ermöglicht es Ihnen, auf Daten aus relationalen Tabellen zuzugreifen, die bei der Zuordnung von Dokumenten nicht definiert sind. Es erlaubt Ihnen, langsam ändernde Dimensionstabellen zu aktualisieren, um festzustellen, ob die Datensätze bereits im Ziel vorhanden sind oder nicht. 27. Was ist ein Surrogat-Schlüssel in einer Datenbank Ein Surrogat-Schlüssel ist etwas mit Sequenz-generierten Zahlen ohne Bedeutung, und nur um die Zeile eindeutig zu identifizieren. Es ist für Benutzer oder Anwendung nicht sichtbar. Es wird auch als Kandidatschlüssel bezeichnet. 28. Was ist der Unterschied zwischen Surrogat-Schlüssel und Primärschlüssel Ein Surrogat-Schlüssel hat sequenzgenerierte Zahlen ohne Bedeutung. Es ist beabsichtigt, die Zeilen eindeutig zu identifizieren. Ein Primärschlüssel wird verwendet, um die Zeilen eindeutig zu identifizieren. Es ist für Benutzer sichtbar und kann je nach Bedarf geändert werden. 29. Wenn es Tausende von Datensätzen im Quellsystem gibt, wie stellen Sie sicher, dass alle Datensätze rechtzeitig in das Ziel geladen werden. In solchen Fällen können Sie die Prüfsummenmethode anwenden. Sie können beginnen, indem Sie die Anzahl der Datensätze in der Quelle und den Zielsystemen überprüfen. Wählen Sie die Summen aus und vergleichen Sie die Informationen. 30. Was versteht man unter Threshold value validation Testing Erklären Sie mit einem Beispiel. Bei diesem Test prüft ein Tester den Datenbereich. Alle Schwellenwerte im Zielsystem sind zu prüfen, um sicherzustellen, dass sie nach dem erwarteten Ergebnis liegen. Beispiel Minus Age Attribut sollte nicht einen Wert größer als 100 haben. In Date Spalte DDMMYY, Monat Feld sollte nicht einen Wert größer als 12. 31. Schreiben Sie eine SQL-Anweisung, um Duplicate Data Check Testing durchzuführen. 32. Wie werden doppelte Daten in einem Zielsystem angezeigt Wenn kein Primärschlüssel definiert ist, können doppelte Werte erscheinen. Die Datenvervielfältigung kann auch durch falsche Zuordnung und manuelle Fehler bei der Übertragung von Daten von der Quelle zum Zielsystem entstehen. 33. Was ist Regressionstest Regressionstest ist, wenn wir Änderungen an Datentransformation und Aggregationsregeln vornehmen, um eine neue Funktionalität hinzuzufügen und dem Tester zu helfen, neue Fehler zu finden. Die Bugs, die in Daten erscheinen, die in Regressionstests kommen, heißen Regression. 34. Nennen Sie die drei Ansätze, die für die Systemintegration verfolgt werden können. Die drei Ansätze sind minus top-down, bottom-up und hybrid. 34. Was sind die häufigsten ETL-Testszenarien Die häufigsten ETL-Testszenarien sind minus Strukturvalidierung Validierung des Mapping-Dokuments Validierung von Constraints Datenkonsistenzprüfung Daten Vollständigkeit Validierung Daten Korrektheit Validierung Daten Transformieren Validierung Daten Qualität Validierung Null Validierung Duplikat Validierung Datum Validierung überprüfen Vollständige Datenvalidierung mit Minus query Andere Testszenarien Datenreinigung 35. Was ist Datenspülung Datenspülung ist ein Prozess des Löschens von Daten aus einem Data Warehouse. Es entfernt Junk-Daten wie Zeilen mit Nullwerten oder zusätzlichen Leerzeichen. 36. Was verstehst du von einem kosmetischen Bug in ETL-Test Kosmetik-Bug bezieht sich auf die GUI einer Anwendung. Es kann sich auf Schriftart, Schriftgröße, Farben, Ausrichtung, Rechtschreibfehler, Navigation, etc. beziehen. 37. Was nennt man den Testfehler, der bei der Durchführung von Schwellenvalidierungstests kommt. Es heißt Boundary Value Analysis-bezogener Fehler. 38. Ich habe 50 Datensätze in meinem Quellsystem, aber ich möchte nur 5 Datensätze auf das Ziel für jeden Lauf laden. Wie kann ich das erreichen? Du kannst es schaffen, indem du eine Mapping-Variable und eine gefilterte Transformation schaffst. Möglicherweise müssen Sie eine Sequenz generieren, um den speziell sortierten Datensatz zu haben, den Sie benötigen. 39. Nennen Sie einige Prüfungen, die durchgeführt werden können, um ETL Testing Data Genauigkeit zu erreichen. Wertvergleich minus Es handelt sich um den Vergleich der Daten in der Quelle und den Zielsystemen mit minimaler oder keiner Transformation. Es kann mit verschiedenen ETL Testing Tools wie Source Qualifier Transformation in Informatica durchgeführt werden. Kritische Datenspalten können durch Vergleich verschiedener Werte in Quell - und Zielsystemen überprüft werden. 40. Welche SQL-Anweisungen können verwendet werden, um die Vollständigkeit der Datenvollständigkeit durchzuführen. Sie können Minus - und Intersect-Anweisungen verwenden, um die Vollständigkeit der Vollständigkeit der Daten durchzuführen. Wenn du Quell minus Ziel und Ziel Minus Quelle und die Minus-Abfrage liefert einen Wert, dann ist es ein Zeichen der Mismatching Zeilen. Wenn die Minus-Abfrage einen Wert zurückgibt und der Count-Intersect kleiner ist als die Quellzählung oder die Zieltabelle, dann sind doppelte Zeilen vorhanden. 41. Was ist der Unterschied zwischen Shortcut und Reusable Transformation Shortcut Transformation ist ein Verweis auf ein Objekt, das in einem freigegebenen Ordner verfügbar ist. Diese Referenzen werden häufig für verschiedene Quellen und Ziele verwendet, die zwischen verschiedenen Projekten oder Umgebungen geteilt werden sollen. Im Repository Manager wird eine Verknüpfung erstellt, indem der freigegebene Status zugewiesen wird. Später können Objekte aus diesem Ordner in einen anderen Ordner gezogen werden. Dieser Prozess ermöglicht einen einzigen Punkt der Kontrolle für das Objekt und mehrere Projekte haben nicht alle Import-Quellen und Ziele in ihre lokalen Ordner. Wiederverwendbare Transformation ist lokal zu einem Ordner. Beispiel minus Wiederverwendbarer Sequenzgenerator für die Zuordnung von Lager Kunden-IDs. Es ist sinnvoll, Kundendaten aus mehreren Quellsystemen zu laden und jedem neuen Quellschlüssel eindeutige IDs zuzuordnen. 42. Was ist Self-Join Wenn Sie sich einer einzigen Tabelle zu sich selbst anschließen, heißt es Self-Join. 43. Was versteht man unter Normalisierung Die Datenbanknormierung ist der Prozess der Organisation der Attribute und Tabellen einer relationalen Datenbank zur Minimierung der Datenredundanz. Normalisierung beinhaltet das Zerlegen einer Tabelle in weniger redundante (und kleinere) Tabellen, aber ohne Informationen zu verlieren. 44. Was versteht man unter der Tatsache, dass es sich um eine Tatsachen-Tabelle handelt, ist eine Tatsachestabelle, die keine Maßnahmen hat. Es ist im wesentlichen ein Schnittpunkt der Dimensionen. Es gibt zwei Arten von faktenlosen Tischen: Einer ist für die Erfassung eines Ereignisses, und das andere ist für die Beschreibung der Bedingungen. 45. Was ist eine sich langsam ändernde Dimension und was sind seine Typen Langsam ändernde Dimensionen beziehen sich auf den sich ändernden Wert eines Attributs im Laufe der Zeit. SCDs sind von drei Typen abzüglich Typ 1, Typ 2 und Typ 3. 46. User A ist bereits in der Applikation angemeldet und User B versucht, sich anzumelden, aber das System ist nicht erlaubt. Welche Art von Bug ist es ein Minus Race Bedingung Bug b minus Berechnungsfehler c minus Hardware Bug d minus Load Condition Bug 47. Welcher Testtyp wird verwendet, um den Datentyp und die Länge der Attribute in der ETL-Transformation zu überprüfen a minus Production Validation Testing b minus Datengenauigkeitsprüfung c minus Metadatenprüfung d minus Datentransformationsprüfung 48. Welche der folgenden Aussagen trifft nicht auf die referentielle Verknüpfung ein minus Es wird nur verwendet, wenn die referenzielle Integrität zwischen beiden Tabellen garantiert ist. B minus Es wird nur verwendet, wenn ein Filter auf dem rechten Tisch gesetzt ist. C minus Es gilt als optimierte innere Verbindung. D minus Es wird nur ausgeführt, wenn Felder aus den Tabellen angefordert werden 49. Welche Datei enthält Informationen zur Konfiguration des Datensatzes im ETL-System a minus Datendatei b minus Konfigurationsdatei c minus Deskriptor Datei d minus Steuerdatei 50. Welche Bugart in ETL Testen erlaubt es Ihnen nicht, gültige Werte einzugeben minus Last Bedingung Bugs b minus Berechnungsfehler c minus Race Bedingung Bug d minus Input Output BugThis war die erste Webseite, die ich auf Wavelets geschrieben habe. Von diesem Samen wuchs andere Web-Seiten, die eine Vielzahl von Wavelet-Themen diskutieren. Für ein Inhaltsverzeichnis siehe Wavelets und Signalverarbeitung. Diese Webseite wendet die Wavelet-Transformation auf eine Zeitreihe an, die sich aus Börsenkursen zusammensetzt. Spätere Webseiten erweitern diese Arbeit in einer Vielzahl von Bereichen (z. B. Kompression, Spektralanalyse und Prognose). Als ich anfing, dachte ich, dass ich das Haar Wavelet implementieren würde und dass einige meiner Kollegen es nützlich finden könnten. Ich habe nicht erwartet, dass die Signalverarbeitung ein so interessantes Thema ist. Ich habe auch nicht verstanden, wer viele verschiedene Bereiche der Informatik, Mathematik und quantitativen Finanzen durch Wavelets berührt werden würde. Ich stellte fest, dass eine Sache zu einem anderen führt, was es schwierig macht, einen logischen Halteplatz zu finden. Dieser wandernde Entdeckungsweg meinte auch für das etwas organische Wachstum dieser Webseiten. Ich habe versucht, dieses Wachstum zu zähmen und zu organisieren, aber ich fürchte, dass es immer noch die Tatsache widerspiegelt, dass ich nicht wusste, wohin ich ging, als ich anfing. Der Java-Code, der zusammen mit dieser Webseite veröffentlicht wird, spiegelt die erste Arbeit wider, die ich auf Wavelets gemacht habe. Aufwendigere, anwendungsorientierte, in Java implementierte Algorithmen finden Sie auf anderen Webseiten. Der Wavelet-Heftschema-Code, der auf anderen Webseiten veröffentlicht wird, ist einfacher und einfacher zu verstehen. Das Wavelet-Heberschema bietet auch ein elegantes und leistungsstarkes Framework für die Implementierung einer Reihe von Wavelet-Algorithmen. Bei der Implementierung von Wavelet-Paket-Algorithmen habe ich von Java auf C umgestellt. Der Wavelet-Paket-Algorithmus, den ich verwendete, ist einfacher und eleganter unter Verwendung von Cs-Operator-Überlastungsmerkmalen. C unterstützt auch generische Datenstrukturen (Templates), die es mir erlaubten, eine generische Klassenhierarchie für Wavelets zu implementieren. Dieser Code enthält mehrere verschiedene Wavelet-Algorithmen, darunter Haar, lineare Interpolation und Daubechies D4. Wie die Wavelet-Algorithmen stellt die hier vorgenommene Finanzmodellierung eine sehr frühe Arbeit dar. Als ich anfing, auf diesen Webseiten zu arbeiten, hatte ich keine Erfahrung mit der Modellierung von finanziellen Zeitreihen. Die auf dieser Webseite beschriebenen Arbeiten führen zu intensiveren Experimenten mit Wavelet-Filtern in Finanzmodellen, an denen ich weiter arbeite. Auf dieser Webseite verwende ich Börsenkurse. In der Finanzmodellierung verwendet man gewöhnlich Renditen, da das, was du vorhersagen willst, zukünftige Rückkehr ist. Ich habe mich für Unfälle mit Wavelets interessiert. Ich arbeitete an Software, die mit finanziellen Zeitreihen (z. B. Eigenkapital offen und enge Preis) beteiligt war, also nehme ich an, dass es ein Unfall warte, um zu passieren. Ich las die Februar 2001 Ausgabe von WIRED Magazin, als ich die Grafik unten gesehen sah. Jeden Monat läuft WIRED verschiedene grafische Visualisierungen von Finanzdaten und das war einer von ihnen. Wenn die Aktienkurse in der Tat in allen erkennbaren Informationen faktorieren, sollte eine zusammengesetzte Preisgrafik in einer ordentlichen Fashon vorgehen, da neue Informationsstöße den Wert gegen den Zug der etablierten Tendenzen wahrgenommen haben. Wavelet-Analyse, weit verbreitet in der Kommunikation verwendet, um Signal (gemusterte Bewegung) von Rauschen (zufällige Aktivität), schlägt anders. Dieses Bild zeigt die Ergebnisse des Laufen einer Haar-Transformation - der grundlegenden Wavelet-Formel - am täglichen Ende des Dow und NASDQ seit 1993. Die blauen Berge bilden Signal. Die eingebetteten roten Spikes stellen Rauschen dar, von denen die gelbe Linie einem 50-Tage-Gleitender Durchschnitt folgt. Lärm, das als Investor-Unwissenheit angesehen werden kann, ist mit dem Wert beider Indizes gestiegen. Aber während Lärm in der Dow hat sich im Durchschnitt 500 Prozent gewachsen, hat NASDAQ Lärm über 3000 Prozent, weit übertreffen NASDAQs spektakuläre 500-Prozent-Wachstum im gleichen Zeitraum. Der Großteil dieser Zunahme ist seit 1997 aufgetreten, mit einem außergewöhnlichen Anstieg seit Januar 2000. Vielleicht gab es doch eine Y2K glich - eine, die keine Betriebssysteme und CPUs entgleitete, sondern - - Investorenpsychologie. - Clem Chambers (Clemcadvfn). Grafik und Zitat von WIRED Magazine, Februar 2001, Seite 176 Ich bin ein Platonist. Ich glaube, dass es in der Zusammenfassung die Wahrheit gibt, aber dass wir es niemals erreichen können. Wir können nur eine Annäherung oder einen Schatten der Wahrheit erreichen. Die moderne Wissenschaft drückt dies als Heisenberg-Ungewissheit aus. Eine platonistische Sicht auf eine finanzielle Zeitreihe ist, dass es eine echte Zeitreihe gibt, die bis zu einem gewissen Grad durch Lärm verdeckt ist. Zum Beispiel bewegt sich eine enge Preis - oder Bidask-Zeitreihe für eine Aktie auf Basis des Angebots und der Nachfrage nach Aktien. Im Falle einer Bidask-Zeitreihe wird die Angebotskurve von dem Rauschen umgeben, das durch zufällige Auftragsannahme erzeugt wird. Wenn irgendwie das Rauschen herausgefiltert werden könnte, würden wir die wahre supplydemand Kurve sehen. Software, die diese Informationen verwendet, könnte in der Lage sein, einen besseren Job zu machen, weil es nicht durch falsche Bewegungen durch Lärm verursacht werden würde. Die WIRED-Grafik oben deutet darauf hin, dass Wavelet-Analyse verwendet werden kann, um eine finanzielle Zeitreihe zu filtern, um das zugehörige Rauschen zu entfernen. Natürlich gibt es ein riesiges Gebiet, das nicht durch das WIRED-Zitat angesprochen wird. Was bedeutet zum Beispiel Lärm Was sind Wavelets und Haar Wavelets Warum sind Wavelets nützlich bei der Analyse von finanziellen Zeitreihen Wenn ich diese Grafik sah, wusste ich Antworten auf keine dieser Fragen. Die Analyse, die in dem kurzen WIRED-Absatz vorgesehen ist, ist ebenfalls flach. Lärm in der Zeitreihe steigt mit Handelsvolumen. Um zu behaupten, dass Lärm erhöht ist, sollte der Lärm für das Handelsvolumen normalisiert werden. Lesen ist eine gefährliche Sache. Sie können Sie in fremde Richtungen starten. Ich zog von Kalifornien nach Santa Fe, New Mexico, weil ich ein Buch las. Dieser eine Graph in der Zeitschrift WIRED startete mir einen Weg, den ich seit vielen Monaten verbrachte. Wie ein Abenteuer, ich bin mir nicht sicher, ob ich mich auf diese angekündigt hätte, wenn ich gewusst hätte, wie lange und manchmal schwierig die Reise wäre. Vor Jahren, als es zum ersten Mal herauskam, kaufte ich mir eine Kopie des Buches The World Nach Wavelets von Barbara Hubbard, auf der Grundlage einer Rezension las ich in der Zeitschrift Science. Das Buch saß auf meinem Regal ungelesen, bis ich den WIRED-Graphen sah. Wavelets waren etwas von einer Modeerscheinung, ein Schlagwort, dass die Leute herumgeworfen haben. Barbara Hubbard begann, die Welt nach Wavelets zu schreiben, als die Wavelet-Modeerscheinung begann, Feuer zu fangen. Sie bietet eine interessante Geschichte, wie sich Wavelets in den mathematischen und technischen Welten entwickelt haben. Sie macht auch einen tapferen Versuch, eine Erklärung dafür zu geben, was die Wavelet-Technik ist. Frau Hubbard ist eine Wissenschaft Schriftstellerin, nicht ein Mathematiker, aber sie beherrschte eine angemessene Menge an Grundrechnung und Signalverarbeitung Theorie (die ich bewundere sie für). Als sie die Welt nach Wavelets schrieb, gab es nur wenige Bücher über Wavelets und kein Einführungsmaterial. Obwohl ich Barbara Hubbards heroische Anstrengung bewundere, hatte ich nur ein Oberflächenverständnis von Wavelets nach dem Lesen der Welt nach Wavelets. Es gibt eine große Literatur über Wavelets und ihre Anwendungen. Aus der Sicht eines Software-Ingenieurs (mit nur einem Jahr College-Kalkül) ist das Problem mit der Wavelet-Literatur, dass es weitgehend von Mathematikern geschrieben wurde, entweder für andere Mathematiker oder für Studierende in Mathematik. Ich bin kein Mitglied einer Gruppe, also vielleicht mein Problem ist, dass ich kein fließendes Verständnis der Sprache der Mathematik habe. Ich fühle das genau, wenn ich Zeitschriftenartikel auf Wavelets lese. Allerdings habe ich versucht, mich auf Bücher und Artikel zu konzentrieren, die explizit einführend und Tutorial sind. Auch diese haben sich als schwierig erwiesen. Das erste Kapitel des Buches Wavelets Made Easy von Yves Nievergelt beginnt mit einer Erklärung von Haar-Wavelets (das sind die Wavelets, die verwendet werden, um die in WIRED veröffentlichte Grafik zu erzeugen). Dieses Kapitel hat zahlreiche Beispiele und ich konnte Haar Wavelets aus diesem Material verstehen und implementieren (Links zu meinem Java Code für Haar Wavelets finden Sie unten). Ein späteres Kapitel behandelt die Daubechies-Wavelet-Transformation. Leider ist dieses Kapitel von Wavelets Made Easy nicht so gut wie das Material auf Haar Wavelets zu sein. Es scheint eine Reihe von Fehlern in diesem Kapitel zu geben und die Implementierung des von Nievergelt beschriebenen Algorithmus führt nicht zu einer korrekten Wavelet-Transformation. Unter anderem scheinen die Wavelet-Koeffizienten für die Daubechies-Wavelets falsch zu sein. Meine Web-Seite auf der Daubechies Wavelet Transformation finden Sie hier. Das Buch Ripples in Mathematik (siehe die Referenzen am Ende der Webseite) ist eine bessere Referenz. Es gibt eine große Literatur über Wavelets. Dazu gehören Tausende von Zeitschriftenartikeln und viele Bücher. Die Bücher über Wavelets reichen von relativ einführenden Werken wie Nievergelts Wavelets Made Easy (die noch nicht Licht liest) auf Bücher, die nur für Studierende in Mathematik zugänglich sind. Es gibt auch viel Wavelet Material im Web. Dies beinhaltet eine Reihe von Tutorials (siehe Web-basierte Referenz unten). Angesichts der umfangreichen Literatur über Wavelets, gibt es keine Notwendigkeit für noch ein weiteres Tutorial. Aber es lohnt sich, meine Ansicht von Wavelets zusammenzufassen, wie sie auf 1-D-Signale oder Zeitreihen angewendet werden (ein Bild ist 2-D-Daten). Eine Zeitreihe ist einfach ein Beispiel für ein Signal oder eine Aufzeichnung von etwas, wie Temperatur, Wasserstand oder Marktdaten (wie Eigenkapital nahe Preis). Wavelets erlauben eine Zeitreihe in mehreren Auflösungen. Jede Auflösung spiegelt eine andere Frequenz wider. Die Wavelet-Technik nimmt Mittelwerte und Unterschiede eines Signals, brechen das Signal in Spektrum. Alle Wavelet-Algorithmen, die mit der Arbeit an Zeitreihen eine Kraft von zwei Werten kennen (z. B. 64, 128, 256.). Each step of the wavelet transform produces two sets of values: a set of averages and a set of differences (the differences are referred to as wavelet coefficients). Each step produces a set of averages and coefficients that is half the size of the input data. For example, if the time series contains 256 elements, the first step will produce 128 averages and 128 coefficients. The averages then become the input for the next step (e. g. 128 averages resulting in a new set of 64 averages and 64 coefficients). This continues until one average and one coefficient (e. g. 2 0 ) is calculated. The average and difference of the time series is made across a window of values. Most wavelet algorithms calculate each new average and difference by shifting this window over the input data. For example, if the input time series contains 256 values, the window will be shifted by two elements, 128 times, in calculating the averages and differences. The next step of the calculation uses the previous set of averages, also shifting the window by two elements. This has the effect of averaging across a four element window. Logically, the window increases by a factor of two each time. In the wavelet literature this tree structured recursive algorithm is referred to as a pyramidal algorithm. The power of two coefficient (difference) spectrum generated by a wavelet calculation reflect change in the time series at various resolutions. The first coefficient band generated reflects the highest frequency changes. Each later band reflects changes at lower and lower frequencies. There are an infinite number of wavelet basis functions. The more complex functions (like the Daubechies wavelets) produce overlapping averages and differences that provide a better average than the Haar wavelet at lower resolutions. However, these algorithms are more complicated. Every field of specialty develops its own sub-language. This is certainly true of wavelets. Ive listed a few definitions here which, if I had understood their meaning would have helped me in my wanderings through the wavelet literature. A function that results in a set of high frequency differences, or wavelet coefficients. In lifting scheme terms the wavelet calculates the difference between a prediction and an actual value. If we have a data sample s i . s i1 . s i2 . the Haar wavelet equations is Where c i is the wavelet coefficient. The wavelet Lifting Scheme uses a slightly different expression for the Haar wavelet: The scaling function produces a smoother version of the data set, which is half the size of the input data set. Wavelet algorithms are recursive and the smoothed data becomes the input for the next step of the wavelet transform. The Haar wavelet scaling function is where a i is a smoothed value. The Haar transform preserves the average in the smoothed values. This is not true of all wavelet transforms. High pass filter In digital signal processing (DSP) terms, the wavelet function is a high pass filter. A high pass filter allows the high frequency components of a signal through while suppressing the low frequency components. For example, the differences that are captured by the Haar wavelet function represent high frequency change between an odd and an even value. Low pass filter In digital signal processing (DSP) terms, the scaling function is a low pass filter. A low pass filter suppresses the high frequency components of a signal and allows the low frequency components through. The Haar scaling function calculates the average of an even and an odd element, which results in a smoother, low pass signal. Orthogonal (or Orthonormal) Transform The definition of orthonormal (a. k.a. orthogonal) tranforms in Wavelet Methods for Time Series Analysis by Percival and Walden, Cambridge University Press, 2000, Chaper 3, section 3.1, is one of the best Ive seen. Ive quoted this below: Orthonormal transforms are of interst because they can be used to re-express a time series in such a way that we can easily reconstruct the series from its transform. In a loose sense, the information in the transform is thus equivalent to the information is the original series to put it another way, the series and its transform can be considered to be two representations of the same mathematical entity. In terms of wavelet transforms this means that the original time series can be exactly reconstructed from the time series average and coefficients generated by an orthogonal (orthonormal) wavelet transform. This is also referred to as de-noising. Signal estimation algorithms attempt to characterize portions of the time series and remove those that fall into a particular model of noise. These Web pages publish some heavily documented Java source code for the Haar wavelet transform. Books like Wavelets Made Easy explain some of the mathematics behind the wavelet transform. I have found, however, that the implemation of this code can be at least as difficult as understanding the wavelet equations. For example, the in-place Haar wavelet transform produces wavelet coefficients in a butterfly pattern in the original data array. The Java source published here includes code to reorder the butterfly into coefficient spectrums which are more useful when it comes to analyzing the data. Although this code is not large, it took me most of a Saturday to implement the code to reorder the butterfly data pattern. The wavelet Lifting Scheme, developed by Wim Sweldens and others provides a simpler way to look as many wavelet algorithms. I started to work on Lifting Scheme wavelet implementations after I had written this web page and developed the software. The Haar wavelet code is much simpler when expressed in the lifting scheme. See my web page The Wavelet Lifting Scheme. The link to the Java source download Web page is below. There are a variety of wavelet analysis algorithms. Different wavelet algorithms are appplied depending on the nature of the data analyzed. The Haar wavelet, which is used here is very fast and works well for the financial time series (e. g. the close price for a stock). Financial time series are non-stationary (to use a signal processing term). This means that even within a window, financial time series cannot be described well by a combination of sin and cos terms. Nor are financial time series cyclical in a predictable fashion (unless you believe in Elliot waves ). Financial time series lend themselves to Haar wavelet analysis since graphs of financial time series tend to jagged, without a lot of smooth detail. For example, the graph below shows the daily close price for Applied Materials over a period of about two years. Daily close price for Applied Materials (symbol: AMAT), 121897 to 123099. The Haar wavelet algorithms I have implemented work on data that consists of samples that are a power of two. In this case there are 512 samples. There are a wide variety of popular wavelet algorithms, including Daubechies wavelets, Mexican Hat wavelets and Morlet wavelets. These wavelet algorithms have the advantage of better resolution for smoothly changing time series. But they have the disadvantage of being more expensive to calculate than the Haar wavelets. The higer resolution provided by these wavlets is not worth the cost for financial time series, which are characterized by jagged transitions. The Haar wavelet algorithms published here are applied to time series where the number of samples is a power of two (e. g. 2, 4, 8, 16, 32, 64. ) The Haar wavelet uses a rectangular window to sample the time series. The first pass over the time series uses a window width of two. The window width is doubled at each step until the window encompasses the entire time series. Each pass over the time series generates a new time series and a set of coefficients. The new time series is the average of the previous time series over the sampling window. The coefficients represent the average change in the sample window. For example, if we have a time series consisting of the values v 0 . v 1 . v n . a new time series, with half as many points is calculated by averaging the points in the window. If it is the first pass over the time series, the window width will be two, so two points will be averaged: The 3-D surface below graphs nine wavelet spectrums generated from the 512 point AMAT close price time series. The x-axis shows the sample number, the y-axis shows the average value at that point and the z-axis shows log 2 of the window width. The wavelet coefficients are calcalculated along with the new average time series values. The coefficients represent the average change over the window. If the windows width is two this would be: The graph below shows the coefficient spectrums. As before the z-axis represents the log 2 of the window width. The y-axis represents the time series change over the window width. Somewhat counter intutitively, the negative values mean that the time series is moving upward Positive values mean the the time series is going down, since v i is greater than v i1 . Note that the high frequency coefficient spectrum (log 2 (windowWidth) 1) reflects the noisiest part of the time series. Here the change between values fluctuates around zero. Plot of the Haar coefficient spectrum. The surface plots the highest frequency spectrum in the front and the lowest frequency spectrum in the back. Note that the highest frequency spectrum contains most of the noise. The wavelet transform allows some or all of a given spectrum to be removed by setting the coefficients to zero. The signal can then be rebuilt using the inverse wavelet transform. Plots of the AMAT close price time series with various spectrum filtered out are shown here. Each spectrum that makes up a time series can be examined independently. A noise filter can be applied to each spectrum removing the coefficients that are classified as noise by setting the coefficients to zero. This web page shows a histogram analysis of the three highest frequency spectrum of the AMAT close price. The result of a filter that removes the points that fall within a gaussian curve in each spectrum is also shown. The gaussian curve has a mean and standard deviation of the coefficients in that spectrum. Another way to remove noise is to use thresholding. My web page outlining one thresholding algorithm can be found here. How do Haar wavelet filters compare to simple filters, like windowed mean and median filters A plot of the AMAT time series, filtered with a median filter (which in this case is virtually identical to a mean filter) is shown here here. These filters can be compared to the spectrum filters (where a given wavelet coefficient spectrum is filered out) here.. Whether a wavelet filter is better than a windowed mean filter depends on the application. The wavelet filter allows specific parts of the spectrum to be filtered. For example, the entire high frequency spectrum can be removed. Or selected parts of the spectrum can be removed, as is done with the gaussian noise filter. The power of Haar wavelet filters is that they can be efficiently calculated and they provide a lot of flexibility. They can potentially leave more detail in the time series, compared to the mean or median filter. To the extent that this detail is useful for an application, the wavelet filter is a better choice. The Haar wavelet transform has a number of advantages: It is conceptually simple. It is fast. It is memory efficient, since it can be calculated in place without a temporary array. It is exactly reversible without the edge effects that are a problem with other wavelet trasforms. The Haar transform also has limitations, which can be a problem for some applications. In generating each set of averages for the next level and each set of coefficients, the Haar transform performs an average and difference on a pair of values. Then the algorithm shifts over by two values and calculates another average and difference on the next pair. The high frequency coefficient spectrum should reflect all high frequency changes. The Haar window is only two elements wide. If a big change takes place from an even value to an odd value, the change will not be reflected in the high frequency coefficients. For example, in the 64 element time series graphed below, there is a large drop between elements 16 and 17, and elements 44 and 45. Since these are high frequency changes, we might expect to see them reflected in the high frequency coefficients. However, in the case of the Haar wavelet transform the high frequency coefficients miss these changes, since they are on even to odd elements. The surface below shows three coefficient spectrum: 32, 16 and 8 (where the 32 element coefficient spectrum is the highest frequency). The high frequency spectrum is plotted on the leading edge of the surface. the lowest frequency spectrum (8) is the far edge of the surface. Note that both large magnitude changes are missing from the high frequency spectrum (32). The first change is picked up in the next spectrum (16) and the second change is picked up in the last spectrum in the graph (8). Many other wavelet algorithms, like the Daubechies wavelet algorithm, use overlapping windows, so the high frequency spectrum reflects all changes in the time series. Like the Haar algorithm, Daubechies shifts by two elements at each step. However, the average and difference are calculated over four elements, so there are no holes. The graph below shows the high frequency coefficient spectrum calculated from the same 64 element time series, but with the Daubechies D4 wavelet algorithm. Because of the overlapping averages and differences the change is reflected in this spectrum. The 32, 16 and 8 coefficient spectrums, calculated with the Daubechies D4 wavelet algorithm, are shown below as a surface. Note that the change in the time series is reflected in all three coefficient spectrum. Wavelet algorithms are naturally parallel. For example, if enough processing elements exist, the wavelet transform for a particular spectrum can be calculated in one step by assigning a processor for every two points. The parallelism in the wavelet algorithm makes it attractive for hardware implementation. The Web page for downloading the Haar wavelet source code can be found here. This Java code is extensively documented and this web page includes a link to the Javadoc generated documentation. A simpler version of the Haar wavelet algorithm can be found via my web page The Wavelet Lifting Scheme. The plots above are generated with gnuplot for Windows NT. See my web page of Gnuplot links here. I am only marginally statisified with gnuplot. The software is easy to use and the Windows NT version comes with a nice GUI and a nice help system. However, when it comes to 3-D plots, the software leaves some things to be desired. The hidden line removal consumes vast amounts of virtual memory. When I tried to plot one of the coefficients surfaces with the x and z axes switched, it ran out of memory on a Windows NT system with 256K of virtual memory. Also, the surface would be much easier to understand if it could be colored with a spectrum. If you know of a better 3D plotting package that runs on Windows NT, please drop me a note. I have also had a hard time getting gnuplot to generate 2-D plots with multiple lines that have different colors. I have succeeded in doing this only when the data for each line was in a separate file, which can be awkward. I was sent the reference to Root by a physicist, Costas A. Root is a data analysis framework that is targeted at the massive amounts of data generated by high energy physics experiments at CERN and elsewhere. Although Root leans heavily toward physics, it looks to me like Root would be useful in other areas. Some of the statistical techniques that are used to analyze results in experimental physics is also used in quantitive finance, for example. Root has different goals than gnuPlot. It is targeted at a much more challenging data analysis enviroment (terabytes of data). But it has a large learning curve and Im skeptical if it can be easily used by those who do not have a sophisticated command of C. In contrast gnuPlot is a simple plotting environment. So my search for a better plotting environment continues. I know that such environments are supported by Matlab and Mathematics, but these packages are too expensive for my limited software budget. References Ripples in Mathematics: the Discrete Wavelet Transform by Jensen and la Cour-Harbo, 2001 So far this is the best book Ive found on wavelets. I read this book after I had spent months reading many of the references that follow, so Im not sure how easy this book would be for someone with no previous exposure to wavelets. But I have yet to find any easy reference. Ripples in Mathematics covers Lifting Scheme wavelets which are easier to implement and understand. The book is written at a relatively introductory level and is aimed at engineers. The authors provide implementations for a number of wavelet algorithms. Ripples also covers the problem of applying wavelet algorithms like Daubechies D4 to finite data sets (e. g. they cover some solutions for the edge problems encountered for Daubechies wavelets). Wavelets and Filter Banks by Gilbert Strang and Truong Nguyen, Wellesley Cambridge Pr, 1996 A colleague recommend this book, although he could not load it to me since it is packed away in a box. Sadly this book is hard to find. I bought my copy via abebooks, used, from a book dealer in Australia. While I was waiting for the book I read a few of Gilbert Strangs journal articles. Gilbert Strang is one of the best writers Ive encountered in mathematics. I have only just started working through this book, but it looks like an excellent, although mathematical, book on wavelets. Wavelets Made Easy by Yves Nievergelt, Birkhauser, 1999 This books has two excellent chapters on Haar wavelets (Chapter 1 covers 1-D Haar wavelets and Chapter 2 covers 2-D wavelets). At least in his coverage of Haar wavelts, Prof. Nievergelt writes clearly and includes plenty of examples. The coverage of Haar wavelets uses only basic mathematics (e. g. algebra). Following the chapter on Haar wavelets there is a chapter on Daubechies wavelets. Daubechies wavelets are derived from a general class of wavelet transforms, which includes Haar wavelets. Daubechies wavelets are better for smoothly changing time series, but are probably overkill for financial time series. As Wavelets Made Easy progresses, it gets less easy. Following the chapter on Daubechies wavelets is a discussion of Fourier transforms. The later chapters delve into the mathematics behind wavelets. Prof. Nievergelt pretty much left me behind at the chapter on Fourier transforms. For an approachable discussion of Fourier transforms, see Understanding Digital Signal Processing by Richard G. Lyons (below). As Wavelets Made Easy progresses, it becomes less and less useful for wavelet algorithm implementation. In fact, while the mathematics Nievergelt uses to describe Daubechies wavelets is correct, the algorithm he describes to implement the Daubechies transform and inverse transform seems to be wrong. Wavelets Made Easy does not live up to the easy part of its title. Given this and the apparent errors in the Daubechies coverage, I am sorry to say that I cant recommend this book. Save your money and buy a copy of Ripples in Mathematics . Discovering Wavelets by Edward Aboufadel and Steven Schlicker At 125 pages, this is one of the most expensive wavelet books Ive purchased, on a per page basis. It sells on Amazon for 64.95 US. I bought it used for 42.50. If Discovering Wavelets provided a short, clear description of wavelets, the length would be a virtue, not a fault. Sadly this is not the case. Discovering Wavelets seems to be a book written for college students who have completed calculus and linear algebra. The book is heavy on theorms (which are incompletely explained) and very sort on useful explaination. I found the description of wavelets unnecessarily obscure. For example, Haar wavelets are described in terms of linear algebra. They can be much more simply described in terms of sums, differences and the so called pyramidal algorithm. While Discovering Wavelets covers some important material, its coverage is so obscure and cursory that I found the book useless. The book resembles a set of lecture notes and is of little use without the lecture (for their students sake I hope that Aboufadel and Schlicker are better teachers than writers). This is a book that I wish I had not purchased. Wavelet Methods for Time Series Analysis by Donald B. Percival and Andrew T. Walden, Cambridge University Press, 2000 Im not a mathematician and I dont play one on television. So this book is heavy going for me. Never the less, this is a good book. For someone with a better mathematical background this might be an excellent book. The authors provide a clear discussion of wavelets and a variety of time series analsysis techniques. Unlike some mathematicians, Percival and Walden actually coded up the wavelet algorithms and understand the difficulties of implementation. They compare various wavelet families for various applications and chose the simplest one (Haar) in some cases. One of the great benifits of Wavelet Methods for Time Series Analysis is that it provides a clear summary of a great deal of the recent research. But Percival and Walden put the research in an applied context. For example Donoho and Johnstone published an equation for wavelet noise reduction. I have been unable to find all of their papers on the Web and I have never understood how to calculate some of the terms in the equation in practice. I found this definition in Wavelet Methods . The World According to Wavelets: The Story of a Mathematical Technique in the Making by Barbara Burke Hubbard, A. K. Peters, 1996 This book provides an interesting history of the development of wavelets. This includes sketches of many of the people involved in pioneering the application and mathematical theory behind wavelets. Although Ms. Hubbard makes a heroic effort, I found the explaination of wavelets difficult to follow. The Cartoon Guide To Statistics by Larry Gonic and Woollcott Smith, Harper Collins I work with a number of mathematicians, so its a bit embarrassing to have this book on my disk. I never took statistics. In college everyone I knew who took statistics didnt like it. Since it was not required for my major (as calculus was), I did not take statistics. Ive come to understand how useful statistics is. I wanted to filter out Gaussian noise, so I needed to understand normal curves. Although the title is a bit embarrassing, The Cartoon Guide to Statistics provided a very rapid and readable introduction to statistics. Understanding Digital Signal Processing by Richard G. Lyons. This book is fantastic. Perhaps the best introductory book ever written on digital signal processing. It is the book on signal processing for software engineers like myself with tepid mathematical backgrounds. It provides the best coverage Ive ever seen on DFTs and FFTs. In fact, this book has inspired me to try FFTs on financial time series (an interesting experiment, but wavelets produce better results and Fourier transforms on non-stationary time series). See my web page A Notebook Compiled While Reading Understanding Digital Signal Processing by Lyons My web page on the wavelet Lifting Scheme. The Haar wavelet algorithm expressed using the wavelet Lifting Scheme is considerably simpler than the algorithm referenced above. The Lifting Scheme also allows Haar wavelet to be extended into a wavelet algorithms that have perfect reconstruction and have better multiscale resolution than Haar wavelets. Emil Mikulic has published a simple explaination of the Haar transform, for both 1-D and 2-D data. For those who find my explaination obscure, this might be a good resource. The Wavelet Tutorial . The Engineers Ultimate Guide to Wavelet Analysis, by Robi Polikar. The ultimate guide to wavelet analysis has yet to be written, at least for my purposes. But Prof. Polikars Wavelet Tutorial is excellent. When it comes to explaining Wavelets and Fourier transforms, this is one of the best overviews Ive seen. Prof. Polikar put a great deal of work into this tutorial and I am greateful for his effort. However, there was not sufficient detail in this tutorial to allow me to create my own wavelet and inverse wavelet tranform software. This Web page (which is also available in PDF) provides a nice overview of the theory behind wavelets. But as with Robi Polikars web page, its a big step from this material to a software implementation. Whether this Web page is really friendly depends on who your friends are. If you friends are calculus and taylor series, then this paper is for you. After working my way through a good part of Wavelets Made Easy this paper filled in some hole for me. But I would not have understood it if I had read it before Wavelets Made Easy . Wim Sweldens, who has published a lot of material on the Web (he is the editor of Wavelet Digest ) and elsewhere on Wavelets is a member of this group. An interesting site with lots of great links to other web resources. Lifting Scheme Wavelets Win Sweldens and Ingrid Daubechies invented a new wavelet technique known as the lifting scheme . Gabriel Fernandez has published an excellent bibliography on the lifting scheme wavelets which can be found here. This bibliography has a pointer to Wim Sweldens and Peter Schroders lifting scheme tutorial Building Your Own Wavelets at Home . Clemens Valens has written a tutorial on the fast lifting wavelet transform. This is a rather mathematically oriented tutorial. For many, Wim Sweldens paper Building Your Ownh Wavlets at Home may be easier to under stand (although I still found this paper heavy going). Gabriel Fernandez has developed LiftPack . The LiftPack Home Page publishes the LiftPack software. The bibliography is a sub-page of the LiftPack Home page. Wavelets in Computer Graphis One of the papers referenced in Gabriel Fernandezs lifting scheme bibliography is Wim Sweldens and Peter Schroders paper Building Your Own Wavelets at Home . This is part of a course on Wavelets in Computer Graphics given at SigGraph 1994, 1995 and 1996. The sigGraph course coverd an amazing amount of material. Building Your Own Wavelets at Home was apparently covered in a morning. There are a lot of mathematically gifted people in computer graphics. But even for these people, this looks like tough going for a morning. Ive spent hours reading and rereading this tutorial before I understood it enough to implement the polynomial interpolation wavelets that it discusses. D. Donoho De-Noising By Soft-Thresholding . IEEE Trans. on Information Theory, Vol 41, No. 3, pp. 613-627, 1995. D. Donoho Adapting to Unknown Smoothness via Wavelet Shrinkage . JASA. 1995. CalTech Multi-Resolution Modeling Group Publications The Wavelets in Computer Graphics page, referenced above, is one of the links from the CalTech Multi-resolution Modeling Group Publications web page. The wavelet publications referenced on this page concentrate on wavelet applications for computer graphics. This is yet another introductory tutorial by a mathematician. It gives a feeling for what you can do with wavelets, but there is not enough detail to understand the details of implementing wavelet code. Amara Graps web page provides some good basic introductory material on wavelets and some excellent links to other Web resources. There is also a link to the authors (Amara) IEEE Computational Sciences and Engineering article on wavelets. Wave from Ryerson Polytechnic University Computational Signals Analysis Group Wave is a C class library for wavelet and signal analysis. This library is provided in source form. I have not examined it in detail yet. Wavelet and signal processing algorithms are usually fairly simple (they consist of a relatively small amount of code). My experience has been that the implementation of the algorithms is not as time consuming as understanding the algorithms and how they can be applied. Since one of the best ways to understand the algorithms is to implement and apply them, Im not sure how much leverage Wave provides unless you already understand wavelet algorithms. Wavelet Compression Arrives by Peter Dyson, Seybold Reports, April 1998. This is an increasingly dated discussion on wavelet compression products, especially for images. The description of the compression products strengths and weaknesses is good, but the description of wavelets is poor. Prof. Zbigniew R. Struzik of Centrum voor Wiskunde en Informatica in the Netherlands has done some very interesting work with wavelets in a variety of areas, including data mining in finance. This web page has a link to Prof. Struziks publications (at the bottom of the Web page). Prof. Struziks work also shows some interesting connections between fractals and wavelets. Disclaimer This web page was written on nights and weekends, using my computer resources. This Web page does not necessarily reflect the views of my employer (at the time this web page was written). Nothing published here should be interpreted as a reflection on any techniques used by my employer (at that time). Ian Kaplan, July 2001 Revised: February 2004
No comments:
Post a Comment