[python] FIT POWER LAW

Messaggioda mic_1 » 23/01/2020, 13:06

Ciao a tutti!! Qualcuno mi potrebbe aiutare a capire cosa sbaglio? Grazie

Codice:
    # fit power law    y=a*x**b           
    def OnFitPowerLaw(self, e):
        wave = list(degr)
        wave.remove(max(wave))
        frat = list(cnt)
        frat.remove(max(frat))
        x = list(degr)
        y = list(cnt)
        logA = np.log10(x)
        logB = np.log10(y)
        from scipy.stats import linregress
        slope, intercept, r_value, p_value, std_err = linregress(logA, logB)
        offset = intercept*10
       # yappr = (slope*logA) + (offset)
        b = slope
        a = 21.835 #non equivale a offset
        yfit = a*((wave)**(-b))
        print(slope, offset)
        print(r_value**2) # R_square calcolata in modalità logaritmica
        fig = plt.figure()
        self.ax  = fig.add_subplot()
        self.ax.set(title='FitPowerLaw')
        self.ax.yaxis.grid(linestyle='--')
#        self.ax.plot(x, y, "-")
        self.ax.scatter(degr, cnt, alpha=0.6)
        self.ax.plot(x, yfit, "-")
        self.xticks = ( [1, 10, 100,  roundup(max(degr), n = 2) ])
        self.yticks = ( [1, 10,  roundup(max(cnt), n = 1) ])
        self.ax.set_xticks(self.xticks)
        self.ax.set_yticks(self.yticks)
        self.ax.set_xticklabels(self.xticks, fontsize=8)
        self.ax.set_yticklabels(self.yticks, fontsize=8)



il valore di
Codice:
 R_square
e
Codice:
 Slope
vengono correttamente ma la FIT POWER LAW non viene come dovrebbe.
mic_1
Junior Member
Junior Member
 
Messaggio: 153 di 160
Iscritto il: 11/01/2011, 18:11

Re: [python] FIT POWER LAW

Messaggioda mic_1 » 26/02/2020, 13:39

Sto calcolando il FitPowerLaw e il FitLine di diverse distribuzioni.

Pensavo che bastasse avere una sola funzione per ogni Fit a cui passare le coordinate/dati di ciascuna distribuzione maaaaa.... i valori tornano solo in una distribuzione.

Come mai? Grz
mic_1
Junior Member
Junior Member
 
Messaggio: 157 di 160
Iscritto il: 11/01/2011, 18:11


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti