σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
scikit-learn-Skill›Modul 1 · Arbeiten mit Estimatoren›Thema 1.1·~40 Min.Einsteiger

Die Estimator-API

Position in der SkillModul 1 von 4 · Thema 1 von 5
1.1 Die Estimator-API
—Lab-Punkte— / 100XP gesamt—Serie—

Ein Modell ist ein Objekt mit einem Vertrag

Alles in scikit-learn ist ein Estimator, und jeder folgt demselben Vertrag. Man erzeugt ihn mit seinen Einstellungen, den Hyperparametern, etwa der Stärke einer Strafe. Man ruft fit(X,y)\mathrm{fit}(X,y)fit(X,y) auf, damit er aus Daten lernt. Was er gelernt hat, steht in Attributen, deren Namen mit einem Unterstrich enden, etwa dem Mittelwert oder den Koeffizienten. Dann nutzt man ihn: Ein Preprozessor bietet transform(X)\mathrm{transform}(X)transform(X), ein Modell bietet predict(X)\mathrm{predict}(X)predict(X). Der Aufruf fit_transform\mathrm{fit\_transform}fit_transform ist fit gefolgt von transform. Die Tabelle XXX hat eine Zeile je Stichprobe und eine Spalte je Merkmal, yyy ist das Ziel. Weil der Vertrag überall gleich ist, kann man ein Modell gegen ein anderes tauschen und den Rest des Codes behalten.

z=x−μ^σ^,y^=a^+b^ xz=\frac{x-\hat\mu}{\hat\sigma},\qquad \hat y=\hat a+\hat b\,xz=σ^x−μ^​​,y^​=a^+b^x(1)

Die goldene Regel lautet: fit\mathrm{fit}fit darf nur Trainingsdaten sehen. Die Zahlen, die ein Preprozessor lernt, etwa μ^\hat\muμ^​ und σ^\hat\sigmaσ^, werden dann unverändert mit transform\mathrm{transform}transform auf Validierungs- und Testdaten angewendet. Würde man den Scaler auf allen Tagen anpassen, hätten die Testtage die Skalierung mitgeformt, ein stilles Leck der Zukunft. Einstellungen wie random_state\mathrm{random\_state}random_state machen Läufe wiederholbar, und clone\mathrm{clone}clone baut eine frische, nicht angepasste Kopie eines Estimators, was die Kreuzvalidierung für jede Faltung tut. In den Marktdaten-Labors dieser Fähigkeit sind die Zeilen Aktie-Monat-Paare und die Spalten Merkmale wie Momentum und Volatilität.

Zwei kleine Anpassungen von HandWir passen einen Scaler an die Trainingswerte 2,4,6,82,4,6,82,4,6,8 an. Er lernt den Mittelwert 555 und die Standardabweichung 5=2,236\sqrt5=2{,}2365​=2,236. Ein neuer Wert 777 wird zu (7−5)/2,236=0,894(7-5)/2{,}236=0{,}894(7−5)/2,236=0,894. Nun passen wir eine lineare Regression an (x,y)=(1,2),(2,4),(3,7)(x,y)=(1,2),(2,4),(3,7)(x,y)=(1,2),(2,4),(3,7) an. Sie lernt die Steigung 2,52{,}52,5 und den Achsenabschnitt −0,667-0{,}667−0,667, die Vorhersage für x=4x=4x=4 ist also −0,667+2,5×4=9,333-0{,}667+2{,}5\times4=9{,}333−0,667+2,5×4=9,333.
  • Einstellungen hinein, gelernte Zahlen heraus: Hyperparameter gehen in den Konstruktor, gelernte Zahlen enden mit einem Unterstrich.
  • Nur auf Training anpassen: transform und predict nutzen die gelernten Zahlen auf beliebigen Daten.
  • Überall derselbe Vertrag: Ein Modelltausch lässt den Rest des Codes unberührt.

Lab: Was bewertet wird

  • Was der Scaler lernt: der Mittelwert10 Pkt.
  • Was der Scaler lernt: die Streuung10 Pkt.
  • Einen Testwert transformieren10 Pkt.
  • Was die Regression lernt: die Steigung15 Pkt.
  • Eine Vorhersage10 Pkt.
  • Welche Attribute gelernt sind10 Pkt.
  • Ein sicherer Ablauf10 Pkt.
  • Begriffe zuordnen10 Pkt.
  • Warum den Scaler nur auf Training anpassen15 Pkt.
0/ 9 beantwortet
Aufgaben
1Numerische Antwort10 Pkt.Nicht beantwortet

Ein Scaler wird an die Trainingswerte 2,4,6,82,4,6,82,4,6,8 angepasst. Wie groß ist der gelernte Mittelwert?

m=m =m=akzeptiert: ± 0.01
2Numerische Antwort10 Pkt.Nicht beantwortet

Die Werte 2,4,6,82,4,6,82,4,6,8 haben den Mittelwert 555 und die quadrierten Abweichungen 9,1,1,99,1,1,99,1,1,9. Der Scaler nutzt die Populations-Standardabweichung (Teilung durch n=4n=4n=4). Wie groß ist sie? Geben Sie drei Dezimalstellen an.

s=s =s=akzeptiert: ± 0.003
3Numerische Antwort10 Pkt.Nicht beantwortet

Der Scaler hat den Mittelwert 555 und die Standardabweichung 2,2362{,}2362,236 gelernt. Ein Testwert 777 kommt. Was liefert transform, (7−5)/2,236(7-5)/2{,}236(7−5)/2,236? Geben Sie drei Dezimalstellen an.

z=z =z=akzeptiert: ± 0.003
4Numerische Antwort15 Pkt.Nicht beantwortet

Eine lineare Regression wird an (x,y)=(1,2),(2,4),(3,7)(x,y)=(1,2),(2,4),(3,7)(x,y)=(1,2),(2,4),(3,7) angepasst. Die Steigung ist ∑(x−xˉ)(y−yˉ)/∑(x−xˉ)2\sum(x-\bar x)(y-\bar y)/\sum(x-\bar x)^{2}∑(x−xˉ)(y−yˉ​)/∑(x−xˉ)2 mit xˉ=2\bar x=2xˉ=2, yˉ=4,333\bar y=4{,}333yˉ​=4,333. Wie groß ist die gelernte Steigung? Geben Sie eine Dezimalstelle an.

b=b =b=akzeptiert: ± 0.05
5Numerische Antwort10 Pkt.Nicht beantwortet

Die Regression hat die Steigung 2,52{,}52,5 und den Achsenabschnitt −0,667-0{,}667−0,667 gelernt. Was liefert predict für x=4x=4x=4? Geben Sie drei Dezimalstellen an.

y=y =y=akzeptiert: ± 0.005
6Auswahl10 Pkt.Nicht beantwortet

Welche davon sind von fit gelernte Zahlen statt von Ihnen gewählter Einstellungen? Wählen Sie alle zutreffenden.

7Schritte ordnen10 Pkt.Nicht beantwortet

Bringen Sie die Schritte eines sicheren Modellierungsablaufs in die richtige Reihenfolge.

Zum Umsortieren ziehen, oder ein Element fokussieren, mit Leertaste anheben, mit Pfeiltasten bewegen und mit Leertaste ablegen.

  1. 1Das Modell an die transformierten Trainingsdaten anpassen
  2. 2Die Tage nach Zeit in Training und Test aufteilen
  3. 3Auf den transformierten Testdaten vorhersagen und bewerten
  4. 4transform auf Trainings- und Testdaten anwenden
  5. 5Den Scaler nur an die Trainingsdaten anpassen
8Zuordnen10 Pkt.Nicht beantwortet

Ordnen Sie jedem Aufruf seine Wirkung zu.

Wähle den Partner für jedes Element links.

fit(X, y)
transform(X)
predict(X)
clone(estimator)
9In Worten erklären15 Pkt.Nicht beantwortet

Erklären Sie in ein bis zwei Sätzen, warum ein Scaler nur auf den Trainingstagen und nicht auf allen Tagen angepasst werden sollte.

Mathe-ModusEingabe per Tastatur oder LaTeXAufgabe 1 von 9 · Strg ⏎ zum Prüfen

Melde dich an, um deinen Code auszuführen.

Alle Lektionen kannst du kostenlos lesen. Erstelle ein Konto oder melde dich an, um Code auszuführen, Tests zu starten und dieses Lab abzugeben.

  • IDE im Browser mit Bash-Terminal — nichts zu installieren
  • Sofortige Bewertung, XP und dein Platz auf der Skill
Konto erstellenAnmelden
ODER
Weiter mit GitHub