Eu vejo uma regressão restrita semelhante aqui:
Regressão linear restrita através de um ponto especificado
mas minha exigência é um pouco diferente. Preciso que os coeficientes totalizem até 1. Especificamente, estou regredindo os retornos de 1 série de câmbio contra 3 outras séries de câmbio, para que os investidores possam substituir sua exposição a essa série por uma combinação de exposição a outras 3, mas suas as despesas de caixa não devem mudar e, de preferência (mas isso não é obrigatório), os coeficientes devem ser positivos.
Eu tentei procurar por regressão restrita no R e no Google, mas com pouca sorte.
r
regression
Thomas Browne
fonte
fonte
Respostas:
Se bem entendi, seu modelo é com ∑ k π k = 1 e π k ≥ 0 . Você precisa minimizar ∑ i ( Y i - ( π 1 X i 1 + π 2 X i 2 + π 3 X i
Aqui, algumas linhas de códigos R que fornecem uma solução possível ( são as colunas de , os valores reais de π k são 0,2, 0,3 e 0,5).X1,X2,X3 πk
X
Não conheço nenhum resultado sobre a distribuição assintótica dos estimadores, etc. Se alguém tiver indicadores, ficarei curioso para obter alguns (se desejar, posso abrir uma nova pergunta sobre isso).
fonte
Conforme mencionado pelo whuber, se você estiver interessado apenas nas restrições de igualdade, também poderá usar a função lm () padrão, reescrevendo seu modelo:
Mas isso não garante que suas restrições de desigualdade sejam satisfeitas! Nesse caso, porém, você obtém exatamente o mesmo resultado de usar o exemplo de programação quadrática acima (colocando o X3 à esquerda):
fonte
As I understand your model, you're seeking to find
I've found the easiest way to treat these sorts of problems is to use matrices' associative properties to treatb¯ as a function of other variables.
E.g.b¯ is a function of c¯ via the transform block Tc¯¯ . In your case, r below is 1 .
fonte
Old question but since I'm facing the same problem I thought to post my 2p...
Use quadratic programming as suggested by @Elvis but using sqlincon from the pracma package. I think the advantage over
quadrpog::solve.QP
is a simpler user interface to specify the constraints. (In fact,lsqlincon
is a wrapper aroundsolve.QP
).Example:
Same results as Elvis's:
EDIT To try to address gung's comment here's some explanation. sqlincon emulates matlab's lsqlin which has a nice help page. Here's the relevant bits with some (minor) edits of mine:
fonte