ich suche eine Vorgehensweise für eine Regressionsaufgabe. Dafür schreibe ich einen Code, der alle Kombinationsmöglichkeiten ausprobiert. Die Endfunktion soll die Form
E = f(x) + T*g(x) + T^2*h(x)+... bis zum vorgegebenen maximalen Exponenten von T.
f(x), g(x) und h(x) sind dabei Summen der vorgegebenen Funktionsterme.
Zur Zusammensetzung der Endfunktion möchte ich nun geschachtelte for-Schleifen nutzen. Die Anzahl der for-Schleifen hängt jedoch von dem maximalen Exponenten von T ab, der zu Beginn jedes Programmdurchlaufs frei gewählt werden kann.
Wie baue ich das Programm am besten auf?
Als Beispiel hier der Code für exponent_T = 2. Was die Funktion names_to_functions macht ist hier erstmal egal.
Code: Alles auswählen
exponent_T = 2
functions = [(a*x), (b*x**2)]
combinatios = [(0,0),(0,1),(1,0),(1,1)]
all_functions = []
for possibility_f in combinations:
for possibility_g in combinations:
for possibility_h in combinations:
f_names = names_to_functions(possibility_f)
g_names = names_to_functions(possibility_g)
h_names = names_to_functions(possibility_h)
funcs = [f_names, g_names, h_names]
all_functions.append(funcs)