Skip to content

Commit 63999b3

Browse files
Focus PR118 live R diagnostics on unresolved cases
1 parent bf260b3 commit 63999b3

1 file changed

Lines changed: 19 additions & 33 deletions

File tree

.github/workflows/pr118-live-r-debug.yml

Lines changed: 19 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -26,55 +26,41 @@ jobs:
2626
python -m pip install -U pip
2727
python -m pip install build scikit-build-core nanobind pytest 'numpy<2.5' scipy hypothesis pytest-benchmark pytest-xdist
2828
python -m pip install -e . --force-reinstall --no-deps
29-
- name: Compare internals
29+
- name: Compare unresolved internals
30+
continue-on-error: true
3031
run: |
31-
Rscript - <<'RS' > live-r-debug.txt
32+
Rscript - <<'RS' > live-r-debug.txt 2>&1
3233
library(NNS)
3334
a <- c(1,2,3,4,5); b <- c(1,2,1,4,3); cc <- c(2,1,3,5,4)
3435
cat('R copula3 continuous',NNS.copula(cbind(a,b,cc),continuous=TRUE,plot=FALSE),'\n')
3536
cat('R copula3 discrete',NNS.copula(cbind(a,b,cc),continuous=FALSE,plot=FALSE),'\n')
36-
t <- 1:70
37-
x <- sin(2*pi*t/7)
38-
y <- c(tail(x,1),head(x,-1)) + .05*cos(t/3)
39-
tau <- 7
40-
make_tau <- function(v,tau){
41-
n <- length(v); z <- vector('list',tau+1)
42-
for(i in 0:tau) z[[i+1]] <- v[(tau-i+1):(n-i)]
43-
do.call(cbind,z)
44-
}
45-
xn <- unlist(NNS.norm(make_tau(x,tau))[,1])
46-
yn <- unlist(NNS.norm(make_tau(y,tau))[,1])
47-
xy <- NNS.norm(cbind(xn,yn))
48-
cat('R periods x',NNS.seas(x,plot=FALSE)$periods,'\n')
49-
cat('R periods y',NNS.seas(y,plot=FALSE)$periods,'\n')
50-
cat('R xn head',head(xn,8),'\n')
51-
cat('R yn head',head(yn,8),'\n')
52-
cat('R xy head',as.numeric(head(xy,4)),'\n')
53-
cat('R Uni xy',Uni.caus(x,y,tau,plot=FALSE),'\n')
54-
cat('R Uni yx',Uni.caus(y,x,tau,plot=FALSE),'\n')
55-
cat('R caus',NNS.caus(x,y,tau='ts',plot=FALSE),'\n')
56-
v <- cbind(seq(-2,17),seq(1,39,2))
57-
z <- NNS.VAR(v,h=3,tau=2,dim.red.method='all',status=FALSE,ncores=1)
58-
cat('R VAR multi',as.numeric(as.matrix(z$multivariate)),'\n')
37+
dx <- cbind(c(-2,-1,0,1,2),c(1,3,5,7,9)); dy <- dx[,1]^2 + sin(dx[,2])
38+
cat('R dy1 first',dy.d_(dx,dy,wrt=1,eval.points='mean',messages=FALSE)$First,'\n')
39+
cat('R dy1 second',dy.d_(dx,dy,wrt=1,eval.points='mean',messages=FALSE)$Second,'\n')
40+
cat('R dy2 first',dy.d_(dx,dy,wrt=2,eval.points='mean',messages=FALSE)$First,'\n')
41+
cat('R dy2 second',dy.d_(dx,dy,wrt=2,eval.points='mean',messages=FALSE)$Second,'\n')
42+
t <- 1:70; x <- sin(2*pi*t/7); y <- c(tail(x,1),head(x,-1)) + .05*cos(t/3); tau <- 7
43+
make_tau <- function(v,tau){n<-length(v);z<-vector('list',tau+1);for(i in 0:tau)z[[i+1]]<-v[(tau-i+1):(n-i)];do.call(cbind,z)}
44+
xn <- unlist(NNS.norm(make_tau(x,tau))[,1]); yn <- unlist(NNS.norm(make_tau(y,tau))[,1]); xy <- NNS.norm(cbind(xn,yn))
45+
cat('R xn head',head(xn,8),'\n'); cat('R yn head',head(yn,8),'\n'); cat('R xy head',as.numeric(head(xy,4)),'\n')
46+
cat('R Uni xy',NNS:::Uni.caus(x,y,tau,plot=FALSE),'\n'); cat('R Uni yx',NNS:::Uni.caus(y,x,tau,plot=FALSE),'\n'); cat('R caus',NNS.caus(x,y,tau='ts',plot=FALSE),'\n')
5947
RS
60-
python - <<'PY' >> live-r-debug.txt
48+
python - <<'PY' >> live-r-debug.txt 2>&1
6149
import numpy as np
62-
from nns import nns_causation,nns_copula,nns_norm,nns_var
50+
from nns import dy_d,nns_causation,nns_copula,nns_norm
6351
from nns.causation import _tau_normalized,_uni_caus
64-
from nns.seasonality import nns_seas
6552
a=np.array([1,2,3,4,5.]); b=np.array([1,2,1,4,3.]); c=np.array([2,1,3,5,4.]); a3=np.column_stack((a,b,c))
6653
print('PY copula3 continuous',nns_copula(a3,continuous=True)); print('PY copula3 discrete',nns_copula(a3,continuous=False))
54+
dx=np.column_stack((np.array([-2,-1,0,1,2.]),np.array([1,3,5,7,9.]))); dy=dx[:,0]**2+np.sin(dx[:,1])
55+
print('PY dy1',dy_d(dx,dy,wrt=1,eval_points='mean')); print('PY dy2',dy_d(dx,dy,wrt=2,eval_points='mean'))
6756
t=np.arange(1,71,dtype=float); x=np.sin(2*np.pi*t/7); y=np.roll(x,1)+.05*np.cos(t/3)
6857
xn,yn=_tau_normalized(x,y,7); xy=nns_norm(np.column_stack((xn,yn)))
69-
print('PY periods x',nns_seas(x,plot=False)['periods'].tolist())
70-
print('PY periods y',nns_seas(y,plot=False)['periods'].tolist())
7158
print('PY xn head',xn[:8].tolist()); print('PY yn head',yn[:8].tolist()); print('PY xy head',xy[:4].ravel(order='F').tolist())
7259
print('PY Uni xy',_uni_caus(x,y,7)); print('PY Uni yx',_uni_caus(y,x,7)); print('PY caus',list(nns_causation(x,y,tau='ts').values()))
73-
v=np.column_stack((np.arange(-2.,18.),np.arange(1.,40.,2.)))
74-
for m in ['cor','NNS.dep','NNS.caus','all']:
75-
z=nns_var(v,3,tau=2,dim_red_method=m); print('PY VAR',m,z['multivariate'].ravel(order='F').tolist())
7660
PY
7761
- uses: actions/upload-artifact@v4
62+
if: always()
7863
with:
7964
name: pr118-live-r-debug
8065
path: live-r-debug.txt
66+
if-no-files-found: warn

0 commit comments

Comments
 (0)