2016-03-29 21 views
0

ile işlevler üzerinde gerileme Başlığın önerdiği gibi, R veya Python'da (sadece doğrusal bir optimizasyon işlevi) bir regresyon (sadece basit bir optimizasyon değil) gerçekleştirebilmek istiyorum. Bu yüzden istatistik kullanımda koyar güçlü araçları kullanmak istiyorum(Python/R)

https://beta.postimg.org/image/3pqj0zb1b/

veya

Y = alpha + beta * Dummy_1 + error_term
where Dummy_1 = 1 if x > gamma * f(x) and if x < theta * f(x) Parameters: alpha, beta, gamma, theta

yılında: sorun çok önemlidir bu yüzden işi) alır hangisi yazılım kullanmak razıyım ve umarım, bir GLM aracılığıyla, bu modelin sağladığı tüm güzel şeyleri hesaplayın (güvenirlikle ilgili optimizasyon problemlerini umursamıyorum, bu yüzden ne olursa olsun işlerini yapacağım). Ne yazık ki, böyle bir problemin nasıl kurulacağına dair hiçbir fikrim yok - ya R ya da Python'da.

Bunun için nasıl giderdin?

cevap

0

sizin için en iyi çözüm scipy biri benim örnek kod

Sonra
import xlrd 
import matplotlib.pyplot 
import pylab 
from scipy import stats 
import numpy as np 
import math 

cord = xlrd.open_workbook('MT_coordenadas_todas.xls') 

id1 = cord.sheet_by_index(0) 
values1 = id1.col_values(0) 

id2 = cord.sheet_by_index(0) 
values2 = id2.col_values(1) 

id3 = cord.sheet_by_index(0) 
values3 = id3.col_values(2) 

print type(values3) 

a1= values1[1:16] 

a2= values2[1:16] 
print a2 

a3= values3[1:16] 
print a3 

slope, intercept, r_value, p_value, std_err = stats.linregress(a2,a3) 

print slope 
print intercept 

Alacağınız eğim ve arayüz

-1.76630044629 
10061774.6817 
olduğunu