Documentation Example 4 for PROC PLS
/****************************************************************/
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: PLSEX4 */
/* TITLE: Documentation Example 4 for PROC PLS */
/* PRODUCT: STAT */
/* SYSTEM: ALL */
/* KEYS: regression analysis, spline smoothing */
/* PROCS: PLS */
/* DATA: */
/* */
/* SUPPORT: RDT UPDATE: */
/* REF: */
/* MISC: */
/* */
/****************************************************************/
/* Example 4: Partial Least Squares Spline Smoothing */
data Wheat;
keep Row Column Yield;
input Yield @@;
iRow = int((_N_-1)/12);
iCol = mod( _N_-1 ,12);
Column = iCol*15 + 1; /* Column distance, in feet */
Row = iRow* 1 + 1; /* Row distance, in feet */
Row = 125 - Row + 1; /* Invert rows */
datalines;
715 595 580 580 615 610 540 515 557 665 560 612
770 710 655 675 700 690 565 585 550 574 511 618
760 715 690 690 655 725 665 640 665 705 644 705
665 615 685 555 585 630 550 520 553 616 573 570
755 730 670 580 545 620 580 525 495 565 599 612
745 670 585 560 550 710 590 545 538 587 600 664
645 690 550 520 450 630 535 505 530 536 611 578
585 495 455 470 445 555 500 450 420 461 531 559
560 540 450 500 505 595 545 530 498 538 453 600
685 730 610 500 555 645 605 535 534 593 616 638
755 810 665 570 525 715 650 550 613 607 742 657
640 635 585 465 430 615 550 515 369 493 635 567
725 655 530 455 465 560 550 460 455 503 519 555
715 775 615 545 530 685 595 510 507 561 581 537
700 705 555 440 455 630 555 425 476 648 532 552
640 655 495 435 485 585 475 405 422 516 458 559
620 635 495 445 455 620 505 465 419 591 545 537
750 630 555 455 510 575 530 470 427 545 562 582
760 675 610 540 530 675 580 460 513 599 595 675
630 645 490 445 440 585 490 420 460 542 474 563
625 540 495 415 445 530 440 430 455 485 461 533
670 670 560 485 445 590 555 450 516 570 553 623
655 630 540 465 460 560 465 435 466 454 458 503
570 535 525 455 415 510 460 420 393 482 426 446
575 495 540 480 395 555 440 450 437 541 525 514
690 645 595 515 470 550 515 445 508 508 517 533
730 730 710 565 465 640 565 550 494 591 594 597
620 635 595 485 435 530 490 470 465 521 454 537
620 600 530 455 425 545 395 455 482 484 505 578
665 685 685 520 480 525 550 465 497 596 563 634
620 605 530 440 450 500 470 445 510 531 478 514
615 525 610 515 395 510 455 530 485 554 448 503
595 625 600 440 435 510 515 525 500 522 496 514
640 580 630 485 480 610 525 515 574 525 458 518
695 650 695 550 515 685 570 525 613 560 532 525
630 610 545 465 460 555 500 575 438 477 480 507
595 555 580 505 465 540 425 490 467 479 444 507
645 635 660 550 525 645 515 520 477 510 465 533
705 660 595 495 465 595 450 505 417 489 399 533
575 530 600 460 410 500 460 505 459 431 438 578
530 555 570 450 425 490 450 495 426 443 449 469
715 680 685 505 535 600 495 480 474 401 495 533
795 715 740 590 585 585 535 560 518 513 541 548
660 635 620 495 510 585 520 475 444 405 509 469
615 580 505 490 505 555 450 470 468 442 474 484
690 645 630 600 565 645 530 550 454 474 592 548
675 615 640 505 550 615 535 500 465 456 513 563
770 625 685 570 575 685 540 475 534 456 467 548
695 700 770 540 515 685 530 495 508 454 422 600
660 660 705 570 545 645 500 540 494 500 532 687
720 730 825 665 605 665 520 550 584 546 537 630
670 640 710 500 535 575 495 455 512 497 465 600
655 590 675 575 515 570 490 470 460 427 472 589
780 790 855 625 575 655 530 540 575 502 503 582
750 705 770 575 560 565 510 435 486 470 502 570
585 620 685 620 550 520 435 460 429 485 534 619
665 605 680 570 560 560 445 465 461 463 533 627
735 760 790 645 605 595 560 485 466 487 476 645
795 795 850 700 655 635 540 470 521 582 584 750
645 685 720 610 520 550 460 440 425 485 462 698
630 695 665 630 510 575 445 430 433 423 450 627
685 840 875 640 575 625 570 490 514 539 486 717
695 780 790 575 520 600 545 470 455 486 488 619
705 745 840 710 640 610 500 530 498 479 434 574
655 735 840 640 610 585 560 450 469 562 450 570
640 880 795 660 580 615 585 460 461 472 504 600
790 765 890 770 660 690 575 490 485 475 509 582
670 690 785 645 510 560 535 405 474 455 458 555
685 790 770 665 600 545 555 390 389 461 439 615
660 825 960 750 660 680 620 510 501 490 534 694
705 805 860 635 540 650 555 435 479 457 451 649
610 720 705 615 540 625 595 380 379 483 502 608
640 735 805 665 535 605 580 430 427 441 498 638
690 855 905 700 615 650 615 495 531 448 453 645
715 765 945 820 695 750 685 530 511 580 510 762
685 750 825 715 580 660 655 505 414 451 542 642
685 790 790 695 595 625 510 525 425 471 478 514
775 845 995 820 655 675 640 545 474 513 599 597
645 870 890 740 615 655 555 490 433 558 590 567
725 825 920 640 600 690 575 535 451 484 510 567
650 865 935 690 645 640 530 520 476 507 525 563
695 860 960 725 615 710 660 525 438 539 646 623
735 910 975 775 680 700 770 635 506 526 514 638
645 745 815 700 605 615 605 550 455 504 503 589
630 810 730 635 535 650 735 535 458 554 535 615
680 745 840 730 645 650 775 590 557 561 565 619
620 730 775 680 610 610 680 515 537 535 553 570
620 745 660 565 520 635 610 450 476 550 562 575
560 675 690 635 525 605 635 515 494 516 558 559
625 700 725 645 645 580 615 640 516 618 615 604
700 765 725 615 640 705 710 590 619 627 620 645
685 785 655 600 570 615 670 575 506 602 530 600
625 550 590 590 605 505 560 595 539 629 571 698
745 790 675 600 625 685 725 695 686 608 568 672
680 670 630 640 645 650 695 610 627 579 537 675
655 730 615 650 640 645 655 620 611 642 685 630
625 700 675 720 695 680 720 615 595 556 648 578
670 735 645 620 705 695 650 580 623 541 580 630
670 820 685 665 715 715 790 660 658 689 725 675
555 670 590 580 550 665 640 605 553 580 605 638
650 685 505 525 595 590 560 575 592 559 584 518
625 760 625 545 635 635 670 625 672 656 577 645
620 740 575 565 595 610 650 595 515 641 533 623
580 650 570 575 450 445 670 645 587 634 534 574
615 705 550 515 530 485 610 570 565 652 518 623
675 690 615 610 560 625 745 540 584 616 505 668
720 820 720 650 590 615 770 645 615 755 625 713
640 780 640 660 605 540 695 580 615 679 540 570
630 800 715 710 605 575 490 485 564 665 665 582
625 830 795 765 610 630 775 630 614 760 730 619
470 685 680 735 560 580 670 610 556 539 488 608
445 555 605 685 540 615 610 525 640 639 594 739
400 570 555 655 475 615 715 595 595 740 671 795
480 495 650 690 535 600 760 655 488 621 578 615
555 660 715 690 635 655 775 665 652 720 689 728
520 530 650 605 480 545 585 610 561 670 622 623
490 475 595 660 475 545 635 550 524 538 626 552
500 610 590 680 555 625 670 660 581 613 583 585
425 560 570 570 455 605 605 530 544 645 612 537
535 550 540 630 480 565 745 515 467 606 563 510
560 500 560 575 500 475 610 575 492 591 532 499
530 610 600 620 480 585 650 570 577 612 654 630
570 585 635 765 550 675 765 620 608 705 677 660
505 500 580 655 470 565 570 555 537 585 589 619
465 430 510 680 460 600 670 615 620 594 616 784
;
/* Fitting a Partial Least Squares Spline Model */
ods graphics on;
proc pls data=Wheat cv=random(seed=1) cvtest(seed=12345)
plot(only)=contourfit(obs=gradient);
effect splCol = spline(Column);
effect splRow = spline(Row );
model Yield = splCol|splRow;
run;
proc pls data=Wheat cv=random(seed=1) cvtest(seed=12345)
plot(only)=contourfit(obs=gradient);
effect splCol = spline(Column / knotmethod=equal(14));
effect splRow = spline(Row / knotmethod=equal(14));
model Yield = splCol|splRow;
run;
ods graphics off;